Ejemplo n.º 1
0
 public virtual void SetValue(TreeNodeAdv node, object value)
 {
     if (VirtualMode)
     {
         NodeControlValueEventArgs args = new NodeControlValueEventArgs(node);
         args.Value = value;
         OnValuePushed(args);
     }
     else
     {
         try
         {
             MemberAdapter ma = GetMemberAdapter(node);
             ma.Value = value;
         }
         catch (TargetInvocationException ex)
         {
             if (ex.InnerException != null)
             {
                 throw new ArgumentException(ex.InnerException.Message, ex.InnerException);
             }
             else
             {
                 throw new ArgumentException(ex.Message);
             }
         }
     }
 }
Ejemplo n.º 2
0
 public GameFacade(ILaneMachine2000 laneMachine, IFortKnox billing)
 {
     _laneMachine   = laneMachine;
     _billing       = billing;
     _memberAdapter = new MemberAdapter();
     _gameAdapter   = new GameAdapter();
 }
Ejemplo n.º 3
0
 private static void CheckToThrow(bool isTrue, MemberAdapter fi, string message)
 {
     if(isTrue)
     {
         throw new ModelException(fi, message);
     }
 }
Ejemplo n.º 4
0
        protected MemberHandler(MemberAdapter fi)
        {
            MemberInfo = fi;
            var attributes = GetAttributes();
            Is = new MemberBoolAttributes(fi, attributes);
            Name = GetName(attributes);
            CrossTableName = GetCrossTableName(attributes);
            UnsavedValue = GetUnsavedValue(attributes);

            var len = GetLength(attributes);
            MinLength = len.Min;
            MaxLength = len.Max;
            LengthErrorMessage = len.ErrorMessage;

            var prec = GetPrecision(attributes);
            MaxLength = prec.IntegralPart;
            DecimalPart = prec.DecimalPart;

            Regular = GetRegular(attributes, false);
            RegularErrorMessage = GetRegular(attributes, true);
            OrderByString = GetOrderByString(attributes);
            UniqueErrorMessage = GetUniqueErrorMessage();
            ShowString = GetShowString(attributes);
            Description = GetDescription(attributes);
        }
Ejemplo n.º 5
0
 internal MemberBoolAttributes(MemberAdapter fi, List<Attribute> attributes)
 {
     Key = GetIsKey(attributes);
     DbGenerate = GetIsDbGenerate(fi.MemberType, attributes);
     DbGenerateGuid = GetIsDbGenerateGuid(fi.MemberType, attributes);
     HasOne = GetIsRelation(fi.MemberType, typeof(HasOne<>));
     HasMany = GetIsRelation(fi.MemberType, typeof(HasMany<>));
     HasAndBelongsToMany = GetIsRelation(fi.MemberType, typeof(HasAndBelongsToMany<>));
     BelongsTo = GetIsRelation(fi.MemberType, typeof(BelongsTo<,>));
     LazyLoad = GetIsRelation(fi.MemberType, typeof(LazyLoad<>));
     StringType = GetIsStringType(fi.MemberType);
     Unicode = GetIsUnicode(fi, attributes);
     AllowNull = GetIsAllowNull(fi, attributes);
     if (attributes.Any(o => o is SpecialNameAttribute))
     {
         CreatedOn = ("CreatedOn" == fi.Name);
         UpdatedOn = ("UpdatedOn" == fi.Name);
         SavedOn = ("SavedOn" == fi.Name);
         LockVersion = ("LockVersion" == fi.Name);
         Count = ("Count" == fi.Name);
         if(CreatedOn || UpdatedOn || SavedOn || LockVersion || Count)
         {
             AutoSavedValue = true;
         }
         else
         {
             throw new ModelException(fi, "Can not set as special name.");
         }
     }
     RelationField = (HasOne || HasMany || HasAndBelongsToMany || BelongsTo);
     SimpleField = !(RelationField || LazyLoad);
     CheckValues(fi);
     if (BelongsTo) { AllowNull = true; }
 }
Ejemplo n.º 6
0
        public void PlayTournamentGameTest()
        {
            // Arrange
            const string cupName  = "Bengans Cup3";
            const int    expected = 1;

            var adapter           = new MemberAdapter();
            var tournamentManager = TestHelper.CreateTournamentManager();

            tournamentManager.CreateTournament(cupName,
                                               DateTime.Now.AddYears(-1),
                                               DateTime.Now.AddDays(-60).AddYears(-1)
                                               );

            var members = TestHelper.SeedMembers().Take(2).ToList();
            var players = new List <Player>();

            foreach (var member in members)
            {
                players.Add(adapter.ConvertMemberToPlayer(member));
            }

            var gameManager = TestHelper.CreateGameManager(players);

            // Act
            gameManager.PlayTournamentGame(members, cupName);

            // Assert
            var tournamentGames = tournamentManager.GetTournament(cupName).Games;
            int actual          = tournamentGames.Count;

            Assert.AreEqual(expected, actual);
        }
Ejemplo n.º 7
0
        private MemberAdapter GetMemberAdapter(TreeNodeAdv node)
        {
            MemberAdapter adapter = MemberAdapter.Empty;

            if (node.Tag != null && !string.IsNullOrEmpty(DataPropertyName))
            {
                Type         type = node.Tag.GetType();
                PropertyInfo pi   = type.GetProperty(DataPropertyName);

                if (pi != null)
                {
                    return(new MemberAdapter(node.Tag, pi));
                }
                else
                {
                    FieldInfo fi = type.GetField(DataPropertyName,
                                                 BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
                    if (fi != null)
                    {
                        return(new MemberAdapter(node.Tag, fi));
                    }
                }
            }

            return(adapter);
        }
Ejemplo n.º 8
0
        protected MemberHandler(MemberAdapter fi)
        {
            MemberInfo = fi;
            var attributes = GetAttributes();

            Is             = new MemberBoolAttributes(fi, attributes);
            Name           = GetName(attributes);
            CrossTableName = GetCrossTableName(attributes);
            UnsavedValue   = GetUnsavedValue(attributes);

            var len = GetLength(attributes);

            MinLength          = len.Min;
            MaxLength          = len.Max;
            LengthErrorMessage = len.ErrorMessage;

            var prec = GetPrecision(attributes);

            MaxLength   = prec.IntegralPart;
            DecimalPart = prec.DecimalPart;

            Regular             = GetRegular(attributes, false);
            RegularErrorMessage = GetRegular(attributes, true);
            OrderByString       = GetOrderByString(attributes);
            UniqueErrorMessage  = GetUniqueErrorMessage();
            ShowString          = GetShowString(attributes);
            Description         = GetDescription(attributes);
        }
Ejemplo n.º 9
0
 private static void CheckToThrow(bool isTrue, MemberAdapter fi, string message)
 {
     if (isTrue)
     {
         throw new ModelException(fi, message);
     }
 }
Ejemplo n.º 10
0
 private void CheckValues(MemberAdapter fi)
 {
     CheckToThrow(CreatedOn && fi.MemberType != typeof(DateTime), fi, "CreatedOn must be DateTime type or LazyLoad.");
     CheckToThrow(UpdatedOn && fi.MemberType != typeof(DateTime?), fi, "UpdatedOn must be nullable DateTime type or LazyLoad.");
     CheckToThrow(SavedOn && fi.MemberType != typeof(DateTime), fi, "SavedOn must be DateTime type or LazyLoad.");
     CheckToThrow(LockVersion && fi.MemberType != typeof(int), fi, "LockVersion must be int type or LazyLoad.");
     CheckToThrow(Count && fi.MemberType != typeof(int), fi, "Count must be int type or LazyLoad.");
 }
Ejemplo n.º 11
0
 private void CheckValues(MemberAdapter fi)
 {
     CheckToThrow(CreatedOn && fi.MemberType != typeof(DateTime), fi, "CreatedOn must be DateTime type or LazyLoad.");
     CheckToThrow(UpdatedOn && fi.MemberType != typeof(DateTime?), fi, "UpdatedOn must be nullable DateTime type or LazyLoad.");
     CheckToThrow(SavedOn && fi.MemberType != typeof(DateTime), fi, "SavedOn must be DateTime type or LazyLoad.");
     CheckToThrow(LockVersion && fi.MemberType != typeof(int), fi, "LockVersion must be int type or LazyLoad.");
     CheckToThrow(Count && fi.MemberType != typeof(int), fi, "Count must be int type or LazyLoad.");
 }
        /// <summary>
        /// Deserialize a constant.
        /// </summary>
        /// <param name="reader">The reader.</param>
        /// <param name="options">The options.</param>
        /// <returns>The constant.</returns>
        private SerializableExpression DeserializeConstant(ref Utf8JsonReader reader, JsonSerializerOptions options)
        {
            var constant = new Constant
            {
                Type = (int)ExpressionType.Constant,
            };

            while (reader.TokenType != JsonTokenType.PropertyName)
            {
                reader.Read();
            }

            reader.Read(); // constant
            reader.Read(); // start object
            reader.Read(); // constant type key
            constant.ConstantTypeKey = reader.GetString();
            reader.Read();
            reader.Read(); // value type key
            var val = reader.GetString();

            reader.Read();
            if (val != "null")
            {
                constant.ValueTypeKey = val;
            }
            else
            {
                constant.ValueTypeKey = null;
            }

            reader.Read(); // isNull
            var isNull = reader.GetBoolean();

            reader.Read();
            if (!isNull)
            {
                Compressor.DecompressTypes(TypeIndex, (constant.ConstantTypeKey, unpackedKey => constant.ConstantTypeKey = unpackedKey));
                if (constant.ValueTypeKey != null)
                {
                    Compressor.DecompressTypes(TypeIndex, (constant.ValueTypeKey, unpackedKey => constant.ValueTypeKey = unpackedKey));
                }

                var type = MemberAdapter.GetMemberForKey <Type>(constant.ValueTypeKey ?? constant.ConstantTypeKey);

                reader.GetString(); // "Value"
                reader.Read();

                if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(EnumerableQuery <>))
                {
                    type = typeof(List <object>);
                }

                constant.Value = JsonSerializer.Deserialize(ref reader, type, options);
                reader.Read(); // end object
            }

            return(constant);
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            ViewModel = (EventViewModel)DataContext;
            Title     = ViewModel.EventName;

            SetActivityContentView(Resource.Layout.Event, Resource.Id.event_swipeRefreshLayout);
            SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            SupportActionBar.SetHomeButtonEnabled(true);
            SetUpProgressDialog(this, "Loading Event...");

            ListView           = FindViewById <ListView>(Resource.Id.membersList);
            ListView.EmptyView = LayoutInflater.Inflate(Resource.Layout.emptyview, null);

            SearchView = FindViewById <SearchView>(Resource.Id.event_searchview);

            MemberAdapter       = new MemberAdapter(this, ViewModel.Members);
            ListView.Adapter    = MemberAdapter;
            ListView.ChoiceMode = ChoiceMode.Multiple;

            RSVPCounterTextView = FindViewById <TextView>(Resource.Id.taptocheckin_text);

            #region Events

            SearchView.QueryTextChange += (s, e) => MemberAdapter.Filter(e.NewText);

            SearchView.QueryTextSubmit += (s, e) => MemberAdapter.Filter(e.Query);

            ViewModel.Members.CollectionChanged += (s, e) =>
            {
                MemberAdapter.UpdateListView();
            };

            ViewModel.FinishedFirstLoad += (index) =>
            {
                if (ViewModel.Members.Count == 0)
                {
                    return;
                }

                Timer timer = new Timer()
                {
                    Interval = 1000
                };
                timer.Elapsed += (s, e) => RunOnUiThread(() => ListView.SetSelection(index));
            };

            MemberCheckedIn += (int pos) =>
            {
                ViewModel.CheckInCommand?.Execute(ViewModel.Members[pos]);
            };

            ViewModel.CountRefreshed += (s, e) => RefreshRSVPCounterTextView();

            #endregion
        }
Ejemplo n.º 14
0
 private static T GetAttribute <T>(MemberAdapter info) where T : Attribute
 {
     if (info.IsProperty)
     {
         return(Leafing.Core.ClassHelper.GetAttribute <T>((PropertyInfo)info.GetMemberInfo(), false));
     }
     else
     {
         return(Leafing.Core.ClassHelper.GetAttribute <T>((FieldInfo)info.GetMemberInfo(), false));
     }
 }
Ejemplo n.º 15
0
        public static void PlayTournamentGame(List <Member> members, string cupName)
        {
            var _memberAdapter = new MemberAdapter();
            var players        = new List <Player>();

            foreach (var member in members)
            {
                players.Add(_memberAdapter.ConvertMemberToPlayer(member));
            }

            var _gameManager = CreateGameManager(players);

            _gameManager.PlayTournamentGame(members, cupName);
        }
Ejemplo n.º 16
0
        private bool GetIsUnicode(MemberAdapter fi, List <Attribute> attributes)
        {
            var sf = (StringColumnAttribute)attributes.FirstOrDefault(o => o is StringColumnAttribute);

            if (sf != null)
            {
                if (!StringType)
                {
                    throw new ModelException(fi, "StringFieldAttribute must set for String type member!");
                }
                return(sf.IsUnicode);
            }
            return(StringType);
        }
Ejemplo n.º 17
0
 private static void ProcessMember(MemberAdapter m, IList <MemberHandler> members)
 {
     if (((!m.HasAttribute <ExcludeAttribute>(false) && !m.HasAttribute <HasOneAttribute>(false)) && (!m.HasAttribute <HasManyAttribute>(false) && !m.HasAttribute <HasAndBelongsToManyAttribute>(false))) && (!m.HasAttribute <BelongsToAttribute>(false) && !m.HasAttribute <LazyLoadAttribute>(false)))
     {
         var member = MemberHandler.NewObject(m);
         if (member.Is.Key)
         {
             members.Add(member);
         }
         else
         {
             members.Add(member);
         }
     }
 }
Ejemplo n.º 18
0
 private static bool GetIsAllowNull(MemberAdapter fi, List <Attribute> attributes)
 {
     if (attributes.Any(o => o is AllowNullAttribute))
     {
         if (fi.MemberType.IsValueType)
         {
             throw new ModelException(fi, "Don't set AllowNull to a value type field, instead of to use nullable");
         }
         return(true);
     }
     if (NullableHelper.IsNullableType(fi.MemberType))
     {
         return(true);
     }
     return(false);
 }
Ejemplo n.º 19
0
 private static bool GetIsAllowNull(MemberAdapter fi, List<Attribute> attributes)
 {
     if (attributes.Any(o => o is AllowNullAttribute))
     {
         if (fi.MemberType.IsValueType)
         {
             throw new ModelException(fi, "Don't set AllowNull to a value type field, instead of to use nullable");
         }
         return true;
     }
     if (NullableHelper.IsNullableType(fi.MemberType))
     {
         return true;
     }
     return false;
 }
Ejemplo n.º 20
0
 private static bool IsExcludeMember(MemberAdapter m)
 {
     if (m.HasAttribute <ExcludeAttribute>(false))
     {
         return(true);
     }
     //			if(m.MemberType.IsGenericType) {
     //				if (m.MemberType.GetGenericTypeDefinition() == typeof(BelongsTo<,>)) {
     //					return false;
     //				}
     //				if(m.MemberType.IsNullable()){
     //					return false;
     //				}
     //				return true;
     //			}
     return(false);
 }
Ejemplo n.º 21
0
        public virtual void SetValue(TreeNodeAdv node, object value)
        {
            if (this.VirtualMode)
            {
                NodeControlValueEventArgs args = new NodeControlValueEventArgs(node)
                {
                    Value = value
                };

                OnValuePushed(args);
            }
            else
            {
                MemberAdapter ma = GetMemberAdapter(node);

                ma.Value = value;
            }
        }
Ejemplo n.º 22
0
        public void PlayGame()
        {
            // Arrange
            const string expected = "John Doe";

            var members = TestHelper.SeedMembers().Take(2);
            var adapter = new MemberAdapter();
            var players = members.Select(member => adapter.ConvertMemberToPlayer(member)).ToList();

            var _gameManager = TestHelper.CreateGameManager(players);

            // Act
            var game = _gameManager.PlayGame(TestHelper.SeedMembers());

            // Assert
            string actual = game.Winner.Name;

            Assert.AreEqual(expected, actual);
        }
Ejemplo n.º 23
0
 public static MemberHandler NewObject(MemberAdapter fi)
 {
     if (fi.MemberType.IsEnum)
     {
         return(new EnumMemberHandler(fi));
     }
     if (fi.MemberType == typeof(bool))
     {
         return(new BooleanMemberHandler(fi));
     }
     if (NullableHelper.IsNullableType(fi.MemberType))
     {
         if (fi.MemberType.GetGenericArguments()[0] == typeof(bool))
         {
             return(new NullableBooleanMemberHandler(fi));
         }
         return(new NullableMemberHandler(fi));
     }
     return(new MemberHandler(fi));
 }
Ejemplo n.º 24
0
 internal MemberBoolAttributes(MemberAdapter fi, List <Attribute> attributes)
 {
     Key                 = GetIsKey(attributes);
     DbGenerate          = GetIsDbGenerate(fi.MemberType, attributes);
     DbGenerateGuid      = GetIsDbGenerateGuid(fi.MemberType, attributes);
     HasOne              = GetIsRelation(fi.MemberType, typeof(HasOne <>));
     HasMany             = GetIsRelation(fi.MemberType, typeof(HasMany <>));
     HasAndBelongsToMany = GetIsRelation(fi.MemberType, typeof(HasAndBelongsToMany <>));
     BelongsTo           = GetIsRelation(fi.MemberType, typeof(BelongsTo <,>));
     if (!BelongsTo)
     {
         BelongsTo = GetIsRelation(fi.MemberType, typeof(BelongsTo <>));
     }
     LazyLoad   = GetIsRelation(fi.MemberType, typeof(LazyLoad <>));
     StringType = GetIsStringType(fi.MemberType);
     Unicode    = GetIsUnicode(fi, attributes);
     AllowNull  = GetIsAllowNull(fi, attributes);
     if (attributes.Any(o => o is SpecialNameAttribute))
     {
         CreatedOn   = ("CreatedOn" == fi.Name);
         UpdatedOn   = ("UpdatedOn" == fi.Name);
         SavedOn     = ("SavedOn" == fi.Name);
         LockVersion = ("LockVersion" == fi.Name);
         Count       = ("Count" == fi.Name);
         if (CreatedOn || UpdatedOn || SavedOn || LockVersion || Count)
         {
             AutoSavedValue = true;
         }
         else
         {
             throw new ModelException(fi, "Can not set as special name.");
         }
     }
     RelationField = (HasOne || HasMany || HasAndBelongsToMany || BelongsTo);
     SimpleField   = !(RelationField || LazyLoad);
     CheckValues(fi);
     if (BelongsTo)
     {
         AllowNull = true;
     }
 }
Ejemplo n.º 25
0
        private List <MemberHandler> GetMembers()
        {
            var members = new List <MemberHandler>();

            foreach (FieldInfo fi in this.HandleType.GetFields(ClassHelper.InstanceFlag))
            {
                if (!fi.IsPrivate)
                {
                    ProcessMember(MemberAdapter.NewObject(fi), members);
                }
            }
            foreach (PropertyInfo pi in this.HandleType.GetProperties(ClassHelper.InstanceFlag))
            {
                var getMethod = pi.GetGetMethod(true);
                if ((pi.CanRead && pi.CanWrite) && ((getMethod != null) && !getMethod.IsPrivate))
                {
                    ProcessMember(MemberAdapter.NewObject(pi), members);
                }
            }
            return(members);
        }
Ejemplo n.º 26
0
 public virtual void SetValue(TreeNodeAdv node, object value)
 {
     if (DataPropertyName == null)
     {
         OnValuePushed(node, value);
     }
     else
     {
         try {
             MemberAdapter ma = GetMemberAdapter(node);
             ma.Value = value;
         }
         catch (TargetInvocationException ex) {
             if (ex.InnerException != null)
             {
                 throw new ArgumentException(ex.InnerException.Message, ex.InnerException);
             }
             else
             {
                 throw new ArgumentException(ex.Message);
             }
         }
     }
 }
Ejemplo n.º 27
0
 public BooleanMemberHandler(MemberAdapter fi)
     : base(fi)
 {
 }
Ejemplo n.º 28
0
 public EnumMemberHandler(MemberAdapter fi)
     : base(fi)
 {
 }
Ejemplo n.º 29
0
        private static void ProcessMember(MemberAdapter m, IList<MemberHandler> members)
        {
            //if (((!m.HasAttribute<ExcludeAttribute>(false) && !m.HasAttribute<HasOneAttribute>(false)) && (!m.HasAttribute<HasManyAttribute>(false) && !m.HasAttribute<HasAndBelongsToManyAttribute>(false))) && (!m.HasAttribute<BelongsToAttribute>(false) && !m.HasAttribute<LazyLoadAttribute>(false)))
			if(!IsExcludeMember(m))
            {
				var member = MemberHandler.NewObject(m);
				if (member.Is.Key)
				{
					members.Add(member);
				}
				else
				{
					members.Add(member);
				}
            }
        }
Ejemplo n.º 30
0
        private static string GetMessage(MemberAdapter member, string errorMessage)
        {
            var result = string.Format("[{0}.{1}]{2}", member.DeclaringType.Name, member.Name, errorMessage);

            return(result);
        }
Ejemplo n.º 31
0
 public NullableMemberHandler(MemberAdapter fi)
     : base(fi)
 {
     Ctor          = NullableHelper.GetConstructorInfo(fi.MemberType);
     NullableField = fi.MemberType.GetProperty("Value");
 }
Ejemplo n.º 32
0
 public ModelException(MemberAdapter member, string errorMessage) : base(GetMessage(member, errorMessage)) { }
Ejemplo n.º 33
0
 public NullableBooleanMemberHandler(MemberAdapter fi)
     : base(fi)
 {
 }
Ejemplo n.º 34
0
        private void OnBind(int index, string as_where)
        {
            ListView list = FindViewById<ListView>(Resource.Id.Member_items);
            TextView page = FindViewById<TextView>(Resource.Id.Member_Page);

            DataTable ldt = new DataTable();
            int count = 0;
            string sql = "select cardno,cus_name,mobile,sex,lastmoney,givehavemoney from customer_small ";

            if (!string.IsNullOrEmpty(as_where))
            {
                sql += " where cus_code like '%" + as_where + "%'";
                sql += " or cus_name like '%" + as_where + "%'";
                sql += " or mobile like '%" + as_where + "%'";
            }
            ldt = SqliteHelper.ExecuteDataTable(sql, pageSize, pageIndex, ref count);

            if (count % 10 == 0)
                pageCount = count / 10;
            else
                pageCount = count / 10 + 1;
            page.Text = pageIndex + "/" + pageCount;

            MemberAdapter listItemAdapter = new MemberAdapter(this, ldt, IntentName);
            list.Adapter = listItemAdapter;
        }
Ejemplo n.º 35
0
 public EnumMemberHandler(MemberAdapter fi)
     : base(fi)
 {
 }
Ejemplo n.º 36
0
 public NullableMemberHandler(MemberAdapter fi)
     : base(fi)
 {
     Ctor = NullableHelper.GetConstructorInfo(fi.MemberType);
     NullableField = fi.MemberType.GetProperty("Value");
 }
Ejemplo n.º 37
0
		private static bool IsExcludeMember(MemberAdapter m)
		{
			if (m.HasAttribute<ExcludeAttribute> (false)) {
				return true;
			}
//			if(m.MemberType.IsGenericType) {
//				if (m.MemberType.GetGenericTypeDefinition() == typeof(BelongsTo<,>)) {
//					return false;
//				}
//				if(m.MemberType.IsNullable()){
//					return false;
//				}
//				return true;
//			}
			return false;
		}
Ejemplo n.º 38
0
 private static string GetMessage(MemberAdapter member, string errorMessage)
 {
     var result = string.Format("[{0}.{1}]{2}", member.DeclaringType.Name, member.Name, errorMessage);
     return result;
 }
Ejemplo n.º 39
0
 public ModelException(MemberAdapter member, string errorMessage) : base(GetMessage(member, errorMessage))
 {
 }
 public NullableBooleanMemberHandler(MemberAdapter fi)
     : base(fi)
 {
 }
Ejemplo n.º 41
0
 public BooleanMemberHandler(MemberAdapter fi)
     : base(fi)
 {
 }
Ejemplo n.º 42
0
 private bool GetIsUnicode(MemberAdapter fi, List<Attribute> attributes)
 {
     var sf = (StringColumnAttribute)attributes.FirstOrDefault(o => o is StringColumnAttribute);
     if (sf != null)
     {
         if (!StringType)
         {
             throw new ModelException(fi, "StringFieldAttribute must set for String type member!");
         }
         return sf.IsUnicode;
     }
     return StringType;
 }
Ejemplo n.º 43
0
 public static MemberHandler NewObject(MemberAdapter fi)
 {
     if (fi.MemberType.IsEnum)
     {
         return new EnumMemberHandler(fi);
     }
     if (fi.MemberType == typeof(bool))
     {
         return new BooleanMemberHandler(fi);
     }
     if (NullableHelper.IsNullableType(fi.MemberType))
     {
         if(fi.MemberType.GetGenericArguments()[0] == typeof(bool))
         {
             return new NullableBooleanMemberHandler(fi);
         }
         return new NullableMemberHandler(fi);
     }
     return new MemberHandler(fi);
 }