public override IEnumerable <PropertyAndField <TModel> > GetPropertyInfoes (System.Reflection.BindingFlags bindFlags, PropertyFilterDelegate2 filter) { Type ModelType = typeof(TModel); IEnumerable <PropertyInfo> properties = _properties.Select(e => e.Key); List <PropertyAndField <TModel> > list = new List <PropertyAndField <TModel> >(); foreach (var p in properties) { if (filter != null) { if (!filter(p)) { continue; } } PropertyAndField <TModel> pf = new PropertyAndField <TModel>(); pf.DatabaseId = GetDatabaseIdFromPropertyInfo(p); pf.DatabaseName = GetDatabaseNameFromPropertyInfo(p); pf.DatabaseType = GetDataTypeFromPropertyInfo(p); pf.AccessLevel = GetAccessLevelFromPropertyInfo(p); pf.Property = p; pf.Getter = _properties[p].Getter; pf.Setter = _properties[p].Setter; list.Add(pf); } return(list); }
protected IList <T> GetListEntryStatictisc( String Qulification, Nullable <UInt32> TargetFieldId, ARStatictisc ARStat, PropertyFilterDelegate2 filter ) { ModelMeteData <T> metaData = new ModelMeteData <T>(); metaData.FormName = _metaProvider.GetFormNameFromModelType(); var props = _metaProvider.GetPropertyInfoes( BindingFlags.SetProperty | BindingFlags.Public | BindingFlags.Instance, filter ); metaData.Properties = new List <PropertyAndField <T> >(); foreach (var p in props) { if ((p.AccessLevel & ModelBinderAccessLevel.OnlyBind) == ModelBinderAccessLevel.OnlyBind) { metaData.Properties.Add(p); } } return(GetListEntryStatictisc(ARStat, Qulification, TargetFieldId, metaData)); }
public IList <T> GetEntryList( string qualification, uint StartIndex, PropertyFilterDelegate2 filter, uint?RetrieveCount, TotalMatch totalMatch, List <ARSortInfo> sortInfo ) { ModelMeteData <T> metaData = new ModelMeteData <T>(); metaData.FormName = _metaProvider.GetFormNameFromModelType(); var props = _metaProvider.GetPropertyInfoes( BindingFlags.SetProperty | BindingFlags.Public | BindingFlags.Instance, filter ); metaData.Properties = new List <PropertyAndField <T> >(); foreach (var p in props) { if ((p.AccessLevel & ModelBinderAccessLevel.OnlyBind) == ModelBinderAccessLevel.OnlyBind) { metaData.Properties.Add(p); } } return(GetEntryList(StartIndex, qualification, metaData, RetrieveCount, totalMatch, sortInfo)); }
//public string CreateEntry(List<ARFieldValue> FieldValueList) //{ // string formName = _metaProvider.GetFormNameFromModelType(typeof(T)); // ModelMeteData<T> metaData = new ModelMeteData<T>(); // metaData.FieldValeList = FieldValueList; // metaData.FormName = formName; // return CreateEntry(metaData); //} public string CreateEntry(T entry, PropertyFilterDelegate2 filter) { if (entry == null) { throw new ArgumentNullException("entry"); } ModelMeteData <T> metaData = new ModelMeteData <T>(); metaData.FormName = _metaProvider.GetFormNameFromModelType(); metaData.Model = entry; var props = _metaProvider.GetPropertyInfoes( BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.Instance, filter ); metaData.Properties = new List <PropertyAndField <T> >(); foreach (var p in props) { if ((p.AccessLevel & ModelBinderAccessLevel.OnlyUnBind) == ModelBinderAccessLevel.OnlyUnBind) { metaData.Properties.Add(p); } } return(CreateEntry(metaData)); }
public virtual IEnumerable <PropertyAndField <TModel> > GetPropertyInfoes (BindingFlags bindFlags, PropertyFilterDelegate2 filter) { Type ModelType = typeof(TModel); var properties = ModelType.GetProperties(bindFlags); List <PropertyAndField <TModel> > list = new List <PropertyAndField <TModel> >(); foreach (var p in properties) { if (filter != null) { if (!filter(p)) { continue; } } PropertyAndField <TModel> pf = new PropertyAndField <TModel>(); pf.DatabaseId = GetDatabaseIdFromPropertyInfo(p); pf.DatabaseName = GetDatabaseNameFromPropertyInfo(p); pf.DatabaseType = GetDataTypeFromPropertyInfo(p); pf.AccessLevel = GetAccessLevelFromPropertyInfo(p); pf.Property = p; //pf.Getter //pf.Setter list.Add(pf); } return(list); }
public T GetEntry(string EntryId, PropertyFilterDelegate2 filter) { string formName = _metaProvider.GetFormNameFromModelType(); ModelMeteData <T> metaData = new ModelMeteData <T>(); //metaData.FieldIdList = FieldIdList; metaData.FormName = formName; metaData.EntryId = EntryId; var props = _metaProvider.GetPropertyInfoes( BindingFlags.SetProperty | BindingFlags.Public | BindingFlags.Instance, filter ); metaData.Properties = new List <PropertyAndField <T> >(); foreach (var p in props) { if ((p.AccessLevel & ModelBinderAccessLevel.OnlyBind) == ModelBinderAccessLevel.OnlyBind) { metaData.Properties.Add(p); } } return(GetEntry(metaData)); }