Example #1
0
 public void EnumBinder_string_object_int32_null_description()
 {
     var description = (string)null;
     var value = TestEnum.Value2;
     var index = 0;
     var target = new EnumBinder<TestEnum>(description, value, index);
 }
Example #2
0
        public void EnumBinder_string_object_ctor_description()
        {
            var description = "description";
            var value = TestEnum.Value2;
            var target = new EnumBinder<TestEnum>(description, value);

            Assert.AreEqual<string>(description, target.Caption);
        }
Example #3
0
        public void EnumBinder_string_object_ctor_index()
        {
            var description = "description";
            var value = TestEnum.Value2;
            var target = new EnumBinder<TestEnum>(description, value);

            Assert.AreEqual<Object>(-1, target.Index);
        }
Example #4
0
        public void EnumBinder_string_object_ctor()
        {
            var description = "description";
            var value = TestEnum.Value2;
            var target = new EnumBinder<TestEnum>( description, value );

            Assert.IsNotNull( target );
        }
Example #5
0
        public void EnumBinder_enumItemDescriptionAttribute_object_ctor_index()
        {
            var attribute = new EnumItemDescriptionAttribute( "item description", 10 );
            var value = TestEnum.Value2;
            var target = new EnumBinder<TestEnum>( attribute, value );

            Assert.AreEqual<Int32>( attribute.Index, target.Index );
        }
Example #6
0
        public void EnumBinder_enumItemDescriptionAttribute_object_ctor_value()
        {
            EnumItemDescriptionAttribute attribute = new EnumItemDescriptionAttribute( "item description" );
            var value = TestEnum.Value2;
            var target = new EnumBinder<TestEnum>( attribute, value );

            Assert.AreEqual<Object>( value, target.Value );
        }
Example #7
0
        public void EnumBinder_enumItemDescriptionAttribute_object_ctor()
        {
            EnumItemDescriptionAttribute attribute = new EnumItemDescriptionAttribute("");
            var value = TestEnum.Value2;
            var target = new EnumBinder<TestEnum>(attribute, value);

            Assert.IsNotNull(target);
        }
Example #8
0
        public void EnumBinder_enumItemDescriptionAttribute_object_ctor()
        {
            EnumItemDescriptionAttribute attribute = new EnumItemDescriptionAttribute( "" );
            var value = TestEnum.Value2;
            var target = new EnumBinder<TestEnum>( attribute, value );

            Assert.IsNotNull( target );
        }
Example #9
0
        public void EnumBinder_enumItemDescriptionAttribute_object_ctor_value()
        {
            EnumItemDescriptionAttribute attribute = new EnumItemDescriptionAttribute("item description");
            var value = TestEnum.Value2;
            var target = new EnumBinder<TestEnum>(attribute, value);

            Assert.AreEqual<Object>(value, target.Value);
        }
Example #10
0
        public void EnumBinder_enumItemDescriptionAttribute_object_ctor_index()
        {
            var attribute = new EnumItemDescriptionAttribute("item description", 10);
            var value = TestEnum.Value2;
            var target = new EnumBinder<TestEnum>(attribute, value);

            Assert.AreEqual<int>(attribute.Index, target.Index);
        }
Example #11
0
        public void EnumBinder_string_object_ctor()
        {
            var description = "description";
            var value = TestEnum.Value2;
            var target = new EnumBinder<TestEnum>(description, value);

            Assert.IsNotNull(target);
        }
Example #12
0
        public void EnumBinder_string_object_int32_ctor_value()
        {
            var description = "description";
            var value = TestEnum.Value2;
            var index = 0;
            var target = new EnumBinder<TestEnum>(description, value, index);

            Assert.AreEqual<Object>(value, target.Value);
        }
Example #13
0
        public static GridViewDataColumn AutoGenerateGridColumn(
            System.Type columnType,
            ISite site)
        {
            if (columnType.IsGenericType && (object)columnType.GetGenericTypeDefinition() == (object)typeof(Nullable <>))
            {
                columnType = Nullable.GetUnderlyingType(columnType);
            }
            GridViewDataColumn gridViewDataColumn;

            if ((object)columnType == (object)typeof(bool) || (object)columnType == (object)typeof(Telerik.WinControls.Enumerations.ToggleState))
            {
                gridViewDataColumn = (GridViewDataColumn) new GridViewCheckBoxColumn();
            }
            else if ((object)columnType == (object)typeof(byte[]) || (object)columnType == (object)typeof(Image) || ((object)columnType == (object)typeof(Icon) || (object)columnType == (object)typeof(Bitmap)))
            {
                gridViewDataColumn = (GridViewDataColumn) new GridViewImageColumn();
            }
            else if ((object)columnType == (object)typeof(DateTime))
            {
                gridViewDataColumn = (GridViewDataColumn) new GridViewDateTimeColumn();
            }
            else if (GridViewHelper.IsNumeric(columnType) || GridViewHelper.IsNumericSql(columnType))
            {
                gridViewDataColumn          = (GridViewDataColumn) new GridViewDecimalColumn();
                gridViewDataColumn.DataType = columnType;
            }
            else if ((object)columnType == (object)typeof(Color))
            {
                gridViewDataColumn = (GridViewDataColumn) new GridViewColorColumn();
            }
            else if (columnType.IsEnum)
            {
                GridViewComboBoxColumn viewComboBoxColumn = new GridViewComboBoxColumn();
                (EnumBinder)columnType.Target = (object)viewComboBoxColumn;
                if (site != null)
                {
                    IDesignerHost service = (IDesignerHost)site.GetService(typeof(IDesignerHost));
                    if (service != null)
                    {
                        EnumBinder component = (EnumBinder)service.CreateComponent(typeof(EnumBinder));
                        component.Source = columnType;
                        component.Target = (object)viewComboBoxColumn;
                    }
                }
                viewComboBoxColumn.DataType = columnType;
                gridViewDataColumn          = (GridViewDataColumn)viewComboBoxColumn;
            }
            else
            {
                gridViewDataColumn = (GridViewDataColumn) new GridViewTextBoxColumn();
            }
            return(gridViewDataColumn);
        }
Example #14
0
        /// <summary>
        /// Converts the given <paramref name="value"/> to a corresponding CLR type. Expects the
        /// <paramref name="value"/> to have already been properly unescaped from an actual Uri.
        /// </summary>
        /// <param name="value">Value from a Uri to be converted.</param>
        /// <param name="version">Version to be compliant with.</param>
        /// <param name="model">Optional model to perform verification against.</param>
        /// <param name="typeReference">Optional IEdmTypeReference to perform verification against.
        ///  Callers must provide a <paramref name="model"/> containing this type if it is specified.</param>
        /// <returns>A CLR object that the <paramref name="value"/> represents or an EnumNode.</returns>
        public static object ConvertFromUriLiteral(string value, ODataVersion version, IEdmModel model, IEdmTypeReference typeReference)
        {
            ExceptionUtils.CheckArgumentNotNull(value, "value");
            if (typeReference != null && model == null)
            {
                throw new ODataException(ODataErrorStrings.ODataUriUtils_ConvertFromUriLiteralTypeRefWithoutModel);
            }

            if (model == null)
            {
                model = Microsoft.OData.Edm.EdmCoreModel.Instance;
            }

            // Let ExpressionLexer try to get a primitive
            ExpressionLexer lexer = new ExpressionLexer(value, false /*moveToFirstToken*/, false /*useSemicolonDelimeter*/);
            Exception       error;
            ExpressionToken token;

            lexer.TryPeekNextToken(out token, out error);

            if (token.Kind == ExpressionTokenKind.BracedExpression && typeReference != null && typeReference.IsStructured())
            {
                return(ODataUriConversionUtils.ConvertFromResourceValue(value, model, typeReference));
            }

            if (token.Kind == ExpressionTokenKind.BracketedExpression)
            {
                return(ODataUriConversionUtils.ConvertFromCollectionValue(value, model, typeReference));
            }

            QueryNode enumConstNode;

            if ((token.Kind == ExpressionTokenKind.Identifier) && // then try parsing the entire text as enum value
                EnumBinder.TryBindIdentifier(lexer.ExpressionText, null, model, out enumConstNode))
            {
                return(((ConstantNode)enumConstNode).Value);
            }

            object result = lexer.ReadLiteralToken();

            // If we have a typeReference then perform verification and convert if necessary
            if (typeReference != null)
            {
                result = ODataUriConversionUtils.VerifyAndCoerceUriPrimitiveLiteral(result, value, model, typeReference);
            }

            return(result);
        }
Example #15
0
        private IList <IBinder> CreateBinders(object data)
        {
            List <IBinder> result = new List <DTManager.FrmProperties.IBinder>();

            if (data != null)
            {
                foreach (PropertyInfo p in data.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance))
                {
                    IBinder binder = null;

                    if (p.PropertyType == typeof(string))
                    {
                        Beetle.DTCore.PropertyAttribute pa = p.GetCustomAttribute <Beetle.DTCore.PropertyAttribute>();
                        if (pa != null && pa.Type == DTCore.PropertyType.Remark)
                        {
                            binder = new TestBuilder(data, p, true);
                        }
                        else
                        {
                            binder = new TestBuilder(data, p, false);
                        }
                    }
                    else if (p.PropertyType.IsEnum)
                    {
                        binder = new EnumBinder(data, p);
                    }
                    else if (p.PropertyType == typeof(DateTime))
                    {
                        binder = new DateTimeBinder(data, p);
                    }

                    else if (p.PropertyType.IsValueType)
                    {
                        binder = new NumberBinder(data, p);
                    }
                    if (binder != null)
                    {
                        result.Add(binder);
                    }
                }
            }
            return(result);
        }
Example #16
0
        /// <summary>
        /// Extracts the binding data from the supplied enum type.
        /// </summary>
        /// <typeparam name="T">The enum type to extract binding data from.</typeparam>
        /// <param name="filter">The a predicate that can be used to filer extracted data.</param>
        /// <returns>
        /// An readonly list of <see cref="EnumBinder"/> objects.
        /// </returns>
        public static IEnumerable<EnumBinder<T>> ExtractBindingData<T>(Predicate<T> filter)
        {
            var lst = new List<EnumBinder<T>>();

            foreach (var obj in Enum.GetValues(typeof(T)))
            {
                if (filter == null || filter((T)obj))
                {
                    var e = (Enum)obj;
                    EnumItemDescriptionAttribute attribute;
                    if (e.TryGetDescriptionAttribute(out attribute))
                    {
                        var eb = new EnumBinder<T>(attribute, (T)obj);
                        lst.Add(eb);
                    }
                }

            }

            lst.Sort((v1, v2) => v1.Index.CompareTo(v2.Index));

            return lst.AsReadOnly();
        }
Example #17
0
 public void EnumBinder_string_object_int32_null_description()
 {
     var description = ( String )null;
     var value = TestEnum.Value2;
     var index = 0;
     var target = new EnumBinder<TestEnum>( description, value, index );
 }
Example #18
0
        public void EnumBinder_string_object_ctor_value()
        {
            var description = "description";
            var value = TestEnum.Value2;
            var target = new EnumBinder<TestEnum>( description, value );

            Assert.AreEqual<Object>( value, target.Value );
        }
Example #19
0
        public void EnumBinder_string_object_int32_ctor_index()
        {
            var description = "description";
            var value = TestEnum.Value2;
            var index = 0;
            var target = new EnumBinder<TestEnum>( description, value, index );

            Assert.AreEqual<Object>( index, target.Index );
        }
Example #20
0
 public void EnumBinder_enumItemDescriptionAttribute_object_ctor_null_attribute()
 {
     var value = TestEnum.Value2;
     var target = new EnumBinder<TestEnum>((EnumItemDescriptionAttribute)null, value);
 }
Example #21
0
 public void EnumBinder_enumItemDescriptionAttribute_object_ctor_null_attribute()
 {
     var value = TestEnum.Value2;
     var target = new EnumBinder<TestEnum>( ( EnumItemDescriptionAttribute )null, value );
 }
 public EnumBinderTests()
 {
     this.binder = new EnumBinder(this.binderProvider);
 }
Example #23
0
 public void TestSetup()
 {
     binder = new EnumBinder <MyEnum>();
 }