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); } } } }
public GameFacade(ILaneMachine2000 laneMachine, IFortKnox billing) { _laneMachine = laneMachine; _billing = billing; _memberAdapter = new MemberAdapter(); _gameAdapter = new GameAdapter(); }
private static void CheckToThrow(bool isTrue, MemberAdapter fi, string message) { if(isTrue) { throw new ModelException(fi, message); } }
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); }
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; } }
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); }
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); }
private static void CheckToThrow(bool isTrue, MemberAdapter fi, string message) { if (isTrue) { throw new ModelException(fi, message); } }
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 }
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)); } }
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); }
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); }
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); } } }
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); }
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; }
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); }
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; } }
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); }
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)); }
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; } }
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); }
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); } } } }
public BooleanMemberHandler(MemberAdapter fi) : base(fi) { }
public EnumMemberHandler(MemberAdapter fi) : base(fi) { }
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); } } }
private static string GetMessage(MemberAdapter member, string errorMessage) { var result = string.Format("[{0}.{1}]{2}", member.DeclaringType.Name, member.Name, errorMessage); return(result); }
public NullableMemberHandler(MemberAdapter fi) : base(fi) { Ctor = NullableHelper.GetConstructorInfo(fi.MemberType); NullableField = fi.MemberType.GetProperty("Value"); }
public ModelException(MemberAdapter member, string errorMessage) : base(GetMessage(member, errorMessage)) { }
public NullableBooleanMemberHandler(MemberAdapter fi) : base(fi) { }
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; }
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; }
private static string GetMessage(MemberAdapter member, string errorMessage) { var result = string.Format("[{0}.{1}]{2}", member.DeclaringType.Name, member.Name, errorMessage); return result; }
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; }
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); }