//
// Authors:
// Arina Itkes (arinai@mainsoft.com)
+// Marek Habersack <mhabersack@novell.com>
//
// (C) 2007 Mainsoft Co. (http://www.mainsoft.com)
-//
+// (C) 2010 Novell, Inc (http://novell.com/)
//
//
// Permission is hereby granted, free of charge, to any person obtaining
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-
+using System;
using System.Collections;
+using System.Collections.Generic;
using System.ComponentModel;
+using System.ComponentModel.Design.Serialization;
using System.Globalization;
+using System.Security.Permissions;
-#if NET_2_0
namespace System.Web.UI
{
+ [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
+ [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public class DataSourceCacheDurationConverter : Int32Converter
{
- public DataSourceCacheDurationConverter () {
- throw new NotImplementedException ();
- }
- public new bool CanConvertFrom (Type sourceType) {
- throw new NotImplementedException ();
- }
- public override bool CanConvertFrom (ITypeDescriptorContext context, Type sourceType) {
- throw new NotImplementedException ();
- }
- public new bool CanConvertTo (Type destinationType) {
- throw new NotImplementedException ();
+ static readonly List <int> standardValues = new List <int> {
+ 0
+ };
+
+ public DataSourceCacheDurationConverter ()
+ {
}
- public override bool CanConvertTo (ITypeDescriptorContext context, Type destinationType) {
- throw new NotImplementedException ();
- }
- public new Object ConvertFrom (Object value) {
- throw new NotImplementedException ();
- }
- public override Object ConvertFrom (ITypeDescriptorContext context,
- CultureInfo culture,
- Object value) {
- throw new NotImplementedException ();
- }
- public new Object ConvertTo (Object value, Type destinationType) {
- throw new NotImplementedException ();
- }
- public override Object ConvertTo (ITypeDescriptorContext context,
- CultureInfo culture,
- Object value,
- Type destinationType) {
- throw new NotImplementedException ();
+
+ public override bool CanConvertFrom (ITypeDescriptorContext context, Type sourceType)
+ {
+ if (sourceType == typeof (string))
+ return true;
+
+ return base.CanConvertFrom (context, sourceType);
}
- public new ICollection GetStandardValues () {
- throw new NotImplementedException ();
+
+ public override bool CanConvertTo (ITypeDescriptorContext context, Type destinationType)
+ {
+ if (destinationType == typeof (string))
+ return true;
+
+ return base.CanConvertTo (context, destinationType);
}
- public override StandardValuesCollection GetStandardValues (ITypeDescriptorContext context) {
- throw new NotImplementedException ();
+
+ public override object ConvertFrom (ITypeDescriptorContext context, CultureInfo culture, object value)
+ {
+ if (value == null)
+ return null;
+
+ string val = value as string;
+ if (val != null && (val.Length == 0 || String.Compare ("infinite", val, StringComparison.OrdinalIgnoreCase) == 0))
+ return (int)0;
+
+ return base.ConvertFrom (context, culture, value);
}
- public new bool GetStandardValuesExclusive () {
- throw new NotImplementedException ();
+
+ public override object ConvertTo (ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
+ {
+ if (destinationType == typeof (string)) {
+ if (value == null)
+ return String.Empty;
+
+ if (value is int && (int)value == 0)
+ return "Infinite";
+ }
+
+ return base.ConvertTo (context, culture, value, destinationType);
}
- public override bool GetStandardValuesExclusive (ITypeDescriptorContext context) {
- throw new NotImplementedException ();
+
+ public override StandardValuesCollection GetStandardValues (ITypeDescriptorContext context)
+ {
+ return new StandardValuesCollection (standardValues);
}
- public new bool GetStandardValuesSupported () {
- throw new NotImplementedException ();
+
+ public override bool GetStandardValuesExclusive (ITypeDescriptorContext context)
+ {
+ return false;
}
- public override bool GetStandardValuesSupported (ITypeDescriptorContext context) {
- throw new NotImplementedException ();
+
+ public override bool GetStandardValuesSupported (ITypeDescriptorContext context)
+ {
+ return true;
}
}
}
-#endif