private void CustomizeAppearanceDemoObject(ITypeInfo ti) { if (ti != null) { IMemberInfo mi1 = ti.FindMember("HideSimpleLayoutItem"); if (mi1 == null) { mi1 = ti.CreateMember("HideSimpleLayoutItem", typeof(bool)); mi1.AddAttribute(new ImmediatePostDataAttribute()); mi1.AddAttribute(new VisibleInListViewAttribute(false)); mi1.AddAttribute(new VisibleInLookupListViewAttribute(false)); } IMemberInfo mi2 = ti.FindMember("HideSimpleLayoutGroup"); if (mi2 == null) { mi2 = ti.CreateMember("HideSimpleLayoutGroup", typeof(bool)); mi2.AddAttribute(new ImmediatePostDataAttribute()); mi2.AddAttribute(new VisibleInListViewAttribute(false)); mi2.AddAttribute(new VisibleInLookupListViewAttribute(false)); } IMemberInfo mi3 = ti.FindMember("HideTabPageGroup"); if (mi3 == null) { mi3 = ti.CreateMember("HideTabPageGroup", typeof(bool)); mi3.AddAttribute(new ImmediatePostDataAttribute()); mi3.AddAttribute(new VisibleInListViewAttribute(false)); mi3.AddAttribute(new VisibleInLookupListViewAttribute(false)); } } }
public override void CustomizeTypesInfo(DevExpress.ExpressApp.DC.ITypesInfo typesInfo) { base.CustomizeTypesInfo(typesInfo); ITypeInfo typeInfo1 = typesInfo.FindTypeInfo(typeof(PersistentObject1)); typeInfo1.AddAttribute(new DevExpress.Persistent.Base.DefaultClassOptionsAttribute()); IMemberInfo memberInfo0 = typeInfo1.FindMember("NewIntField"); if (memberInfo0 == null) { typeInfo1.CreateMember("NewIntField", typeof(int)); } ITypeInfo typeInfo2 = typesInfo.FindTypeInfo(typeof(PersistentObject2)); IMemberInfo memberInfo1 = typeInfo1.FindMember("PersistentObject2s"); IMemberInfo memberInfo2 = typeInfo2.FindMember("PersistentObject1"); if (memberInfo1 == null) { memberInfo1 = typeInfo1.CreateMember("PersistentObject2s", typeof(DevExpress.Xpo.XPCollection <PersistentObject2>)); memberInfo1.AddAttribute(new DevExpress.Xpo.AssociationAttribute("PersistentObject1-PersistentObject2s", typeof(PersistentObject2)), true); memberInfo1.AddAttribute(new DevExpress.Xpo.AggregatedAttribute(), true); } if (memberInfo2 == null) { memberInfo2 = typeInfo2.CreateMember("PersistentObject1", typeof(PersistentObject1)); memberInfo2.AddAttribute(new DevExpress.Xpo.AssociationAttribute("PersistentObject1-PersistentObject2s", typeof(PersistentObject1)), true); } typesInfo.RefreshInfo(typeof(PersistentObject1)); typesInfo.RefreshInfo(typeof(PersistentObject2)); }
void HandleNumericFormatAttribute(IMemberInfo memberInfo) { var numericFormatAttribute = memberInfo.FindAttribute<NumericFormatAttribute>(); if (numericFormatAttribute != null) { memberInfo.AddAttribute(new CustomAttribute("EditMaskAttribute", "f0")); memberInfo.AddAttribute(new CustomAttribute("DisplayFormatAttribute", "#")); } }
private static IEnumerable <T> AddMarkupPropertyEditorAttributes <T>(this IMemberInfo memberInfo, Func <T, string> valueFactory = null) where T : Attribute => memberInfo.FindAttributes <T>().ToArray() .Execute(_ => { memberInfo.AddAttribute(new EditorAliasAttribute(EditorAliases.MarkupContent)); if (valueFactory != null) { var value = valueFactory.Invoke(_); memberInfo.AddAttribute(new ModelDefaultAttribute("DisplayFormat", value)); } });
public void UsingDataSourceProperty_Should_Add_DataSourcePropertyAttribute_With_Lambda() { _Builder.UsingDataSourceProperty(m => m.StringProperty, DataSourcePropertyIsNullMode.SelectAll, CriteriaOperator.Parse("1=1")); A.CallTo(() => _MemberInfo.AddAttribute(A <DataSourcePropertyAttribute> .That.Matches(t => t.DataSourceProperty == "StringProperty" && t.DataSourcePropertyIsNullMode == DataSourcePropertyIsNullMode.SelectAll && t.DataSourcePropertyIsNullCriteria == "1 = 1" ))).MustHaveHappened(); }
void HandleCustomAttribute(IMemberInfo memberInfo, ITypesInfo typesInfo) { var customAttributes = memberInfo.FindAttributes <Attribute>().OfType <ICustomAttribute>().ToList(); foreach (var customAttribute in customAttributes) { for (int index = 0; index < customAttribute.Name.Split(';').Length; index++) { string s = customAttribute.Name.Split(';')[index]; var theValue = customAttribute.Value.Split(';')[index]; var typeInfo = typesInfo.FindTypeInfo(theValue); if (customAttribute is PropertyEditorAttribute && typeInfo.IsInterface) { try { theValue = typeInfo.Implementors.Single().FullName; } catch (InvalidOperationException) { if (Application != null) { throw new InvalidOperationException(typeInfo.FullName + " has no implementors"); } } } memberInfo.AddAttribute(new CustomAttribute(s, theValue)); } } }
private XPCustomMemberInfo CreateMemberInfo(ITypesInfo typesInfo, IMemberInfo memberInfo, ProvidedAssociationAttribute providedAssociationAttribute, AssociationAttribute associationAttribute) { var typeToCreateOn = getTypeToCreateOn(memberInfo, associationAttribute); if (typeToCreateOn == null) throw new NotImplementedException(); XPCustomMemberInfo xpCustomMemberInfo; if (!(memberInfo.IsList) || (memberInfo.IsList && providedAssociationAttribute.RelationType == RelationType.ManyToMany)) { xpCustomMemberInfo = typesInfo.CreateCollection( typeToCreateOn, memberInfo.Owner.Type, associationAttribute.Name, XpandModuleBase.Dictiorary, providedAssociationAttribute.ProvidedPropertyName ?? memberInfo.Owner.Type.Name + "s", false); } else { xpCustomMemberInfo = typesInfo.CreateMember( typeToCreateOn, memberInfo.Owner.Type, associationAttribute.Name, XpandModuleBase.Dictiorary, providedAssociationAttribute.ProvidedPropertyName ?? memberInfo.Owner.Type.Name, false); } if (!string.IsNullOrEmpty(providedAssociationAttribute.AssociationName) && memberInfo.FindAttribute<AssociationAttribute>() == null) memberInfo.AddAttribute(new AssociationAttribute(providedAssociationAttribute.AssociationName)); typesInfo.RefreshInfo(typeToCreateOn); return xpCustomMemberInfo; }
void HandleCustomAttribute(IMemberInfo memberInfo, ITypesInfo typesInfo) { var customAttributes = memberInfo.FindAttributes <Attribute>().OfType <ICustomAttribute>().ToList(); foreach (var customAttribute in customAttributes) { for (int index = 0; index < customAttribute.Name.Split(';').Length; index++) { string s = customAttribute.Name.Split(';')[index]; var theValue = customAttribute.Value.Split(';')[index]; var typeInfo = typesInfo.FindTypeInfo(theValue); if (customAttribute is PropertyEditorAttribute && typeInfo.IsInterface) { if (!typeInfo.Implementors.Any()) { if (Application != null) { throw new InvalidOperationException(typeInfo.FullName + " has no implementors"); } } else { var single = typeInfo.Implementors.Single(info => !info.FindAttribute <DevExpress.ExpressApp.Editors.PropertyEditorAttribute>().IsDefaultEditor); theValue = single.Type.FullName; } } memberInfo.AddAttribute(new ModelDefaultAttribute(s, theValue)); } } }
void HandleSequencePropertyAttribute(IMemberInfo memberInfo) { var sequencePropertyAttribute = memberInfo.FindAttribute<SequencePropertyAttribute>(); if (sequencePropertyAttribute != null) { var typeInfo = ReflectionHelper.FindTypeDescendants(XafTypesInfo.Instance.FindTypeInfo(typeof(IReleasedSequencePropertyEditor))).SingleOrDefault(); if (typeInfo != null) memberInfo.AddAttribute(new CustomAttribute("PropertyEditorType", typeInfo.FullName)); } }
public void HasEditMask_Should_Add_ModelDefaultAttribute_With_EditMaskPropertyName_And_MyEditMask() { var editMask = new Fixture().Create <string>(); _Builder.HasEditMask(editMask); A.CallTo(() => _MemberInfo.AddAttribute(A <ModelDefaultAttribute> .That.Matches(t => t.PropertyName == ModelDefaultKeys.EditMask.EditMaskKey && t.PropertyValue == editMask))).MustHaveHappened(); }
public override void CustomizeTypesInfo(ITypesInfo typesInfo) { base.CustomizeTypesInfo(typesInfo); CalculatedPersistentAliasHelper.CustomizeTypesInfo(typesInfo); ITypeInfo userTypeInfo = typesInfo.FindTypeInfo(typeof(PermissionPolicyUser)); IMemberInfo userLoginsProperty = userTypeInfo.FindMember("UserLogins"); if (userLoginsProperty == null) { userLoginsProperty = userTypeInfo.CreateMember("UserLogins", typeof(XPCollection <UserLoginInfo>)); userLoginsProperty.AddAttribute(new DevExpress.Xpo.AssociationAttribute(typeof(UserLoginInfo)), true); userLoginsProperty.AddAttribute(new DevExpress.Xpo.AggregatedAttribute(), true); userLoginsProperty.AddAttribute(new VisibleInDetailViewAttribute(false), true); ITypeInfo userLoginTypeInfo = typesInfo.FindTypeInfo(typeof(UserLoginInfo)); userLoginTypeInfo.FindMember("User").AddAttribute(new DevExpress.Xpo.AssociationAttribute(typeof(PermissionPolicyUser)), false); ((XafMemberInfo)userLoginsProperty).Refresh(); } }
protected virtual IMemberInfo OnCreateMember(ITypeInfo typeInfo, string name, Type propertyType) { IMemberInfo memberInfo = typeInfo.CreateMember(name, propertyType); if (memberInfo.MemberType == typeof(Type)) { memberInfo.AddAttribute(new ValueConverterAttribute(typeof(TypeValueConverter))); } return(memberInfo); }
protected override IMemberInfo OnCreateMember(ITypeInfo typeInfo, string name, Type propertyType) { IMemberInfo memberInfo = base.OnCreateMember(typeInfo, name, propertyType); if (propertyType == typeof(Unit)) { memberInfo.AddAttribute(new ValueConverterAttribute(typeof(UnitValueConverter))); } return(memberInfo); }
public override void CustomizeTypesInfo(ITypesInfo typesInfo) { base.CustomizeTypesInfo(typesInfo); //CalculatedPersistentAliasHelper.CustomizeTypesInfo(typesInfo); ITypeInfo typeInfoDomainObject1 = XafTypesInfo.Instance.FindTypeInfo(typeof(PermissionPolicyUser)); typeInfoDomainObject1.CreateMember("Color", typeof(Int32)); IMemberInfo typeInfoDomainObject1Metadata = typeInfoDomainObject1.FindMember("Color"); typeInfoDomainObject1Metadata.AddAttribute(new VisibleInReportsAttribute(false)); typeInfoDomainObject1Metadata.AddAttribute(new VisibleInDetailViewAttribute(false)); typeInfoDomainObject1Metadata.AddAttribute(new VisibleInListViewAttribute(false)); typeInfoDomainObject1Metadata.AddAttribute(new VisibleInLookupListViewAttribute(false)); typeInfoDomainObject1.CreateMember("Color2", typeof(Int32)); IMemberInfo typeInfoDomainObject1Metadata2 = typeInfoDomainObject1.FindMember("Color2"); typeInfoDomainObject1Metadata2.AddAttribute(new VisibleInReportsAttribute(false)); typeInfoDomainObject1Metadata2.AddAttribute(new VisibleInDetailViewAttribute(false)); typeInfoDomainObject1Metadata2.AddAttribute(new VisibleInListViewAttribute(false)); typeInfoDomainObject1Metadata2.AddAttribute(new VisibleInLookupListViewAttribute(false)); }
public override void CustomizeTypesInfo(ITypesInfo typesInfo) { base.CustomizeTypesInfo(typesInfo); ITypeInfo typeInfo1 = typesInfo.FindTypeInfo(typeof(ExternalDocument)); ITypeInfo typeInfo2 = typesInfo.FindTypeInfo(typeof(ОбъектРемонта)); IMemberInfo memberInfo1 = typeInfo1.FindMember("ОбъектРемонта"); IMemberInfo memberInfo2 = typeInfo2.FindMember("ExternalDocument"); if (memberInfo2 == null) { memberInfo2 = typeInfo2.CreateMember("ExternalDocument", typeof(XPCollection <ExternalDocument>)); memberInfo2.AddAttribute(new DevExpress.Xpo.AssociationAttribute("A", typeof(ExternalDocument)), true); memberInfo2.AddAttribute(new DevExpress.Xpo.AggregatedAttribute(), true); } if (memberInfo1 == null) { memberInfo1 = typeInfo1.CreateMember("Asset", typeof(ОбъектРемонта)); memberInfo1.AddAttribute(new DevExpress.Xpo.AssociationAttribute("A", typeof(ОбъектРемонта)), true); memberInfo1.AddAttribute(new DevExpress.Persistent.Base.ImmediatePostDataAttribute(), true); } ((XafMemberInfo)memberInfo1).Refresh(); ((XafMemberInfo)memberInfo2).Refresh(); if (typesInfo == null) { return; } ITypeInfo typeInfo; // В класс ОбъектРемонта добавляем свойство ExternalFactor // Ищем TypeInfo для класса Galaktika.EAM.Module.Активы.ОбъектРемонта typeInfo = typesInfo.FindTypeInfo(typeof(ОбъектРемонта)); if (typeInfo != null) { // Для типа добавляем свойство Mass с типом decimal var exfProperty = typeInfo.CreateMember("ExternalFactor", typeof(decimal)); } }
void HandleCustomAttribute(IMemberInfo memberInfo, ITypesInfo typesInfo) { var customAttributes = memberInfo.FindAttributes<Attribute>().OfType<ICustomAttribute>().ToList(); foreach (var customAttribute in customAttributes) { for (int index = 0; index < customAttribute.Name.Split(';').Length; index++) { string s = customAttribute.Name.Split(';')[index]; var theValue = customAttribute.Value.Split(';')[index]; var typeInfo = typesInfo.FindTypeInfo(theValue); if (customAttribute is PropertyEditorAttribute && typeInfo.IsInterface) { try { theValue = typeInfo.Implementors.Single().FullName; } catch (InvalidOperationException) { if (Application != null) throw new InvalidOperationException(typeInfo.FullName + " has no implementors"); } } memberInfo.AddAttribute(new ModelDefaultAttribute(s, theValue)); } } }
public static void CreateMember(ITypeInfo typeInfo, FilterProviderBase provider) { var attributes = new List <Attribute> { new BrowsableAttribute(false), new MemberDesignTimeVisibilityAttribute( false) }; IMemberInfo member = typeInfo.CreateMember(provider.FilterMemberName, provider.FilterMemberType); if (provider.FilterMemberIndexed) { attributes.Add(new IndexedAttribute()); } if (provider.FilterMemberSize != SizeAttribute.DefaultStringMappingFieldSize) { attributes.Add(new SizeAttribute(provider.FilterMemberSize)); } foreach (var attribute in attributes) { member.AddAttribute(attribute); } }
public static void AddAttribute <T>(this ITypeInfo typeInfo, Expression <Func <T, object> > expression, Attribute attribute) { IMemberInfo controlTypeMemberInfo = typeInfo.FindMember(expression); controlTypeMemberInfo.AddAttribute(attribute); }
public void HasRegExEditMask_Should_Add_ModelDefaultAttribute_With_EditMaskTypePropertyName_And_RegExPropertyName() { _Builder.HasRegExEditMask(string.Empty); A.CallTo(() => _MemberInfo.AddAttribute(A <ModelDefaultAttribute> .That.Matches(t => t.PropertyName == ModelDefaultKeys.EditMask.EditMaskType && t.PropertyValue == "RegEx"))).MustHaveHappened(); }
public void WithAttribute_Should_Add_Attribute() { var attribute = new WithPublicCtorAttribute(); _Builder.WithAttribute(attribute); A.CallTo(() => _MemberInfo.AddAttribute(A <WithPublicCtorAttribute> .That.Matches(a => Equals(a, attribute)))).MustHaveHappened(); }
public PropertyBuilder <T, TType> WithAttribute(Attribute attribute) { MemberInfo.AddAttribute(attribute); return(this); }
//added yaspa //private void application_CreateCustomLogonWindowObjectSpace(object sender, CreateCustomLogonWindowObjectSpaceEventArgs e) //{ // IObjectSpace objectSpace = ((XafApplication)sender).CreateObjectSpace(); // ((CustomLogonParametersForStandardAuthentication)e.LogonParameters).ObjectSpace = objectSpace; // e.ObjectSpace = objectSpace; //} //end public override void CustomizeTypesInfo(ITypesInfo typesInfo) { base.CustomizeTypesInfo(typesInfo); CalculatedPersistentAliasHelper.CustomizeTypesInfo(typesInfo); ITypeInfo BaseCatalogTypeInfo = typesInfo.FindTypeInfo(typeof(BaseCatalog)); ITypeInfo BalanceCatalogTypeInfo = typesInfo.FindTypeInfo(typeof(BalanceCatalog)); ITypeInfo CatalogTypeInfo = typesInfo.FindTypeInfo(typeof(Catalog)); ITypeInfo CompanyTypeInfo = typesInfo.FindTypeInfo(typeof(Company)); ITypeInfo CorrelativeTypeInfo = typesInfo.FindTypeInfo(typeof(Correlative)); ITypeInfo CostCenterTypeInfo = typesInfo.FindTypeInfo(typeof(CostCenter)); ITypeInfo CurrencyTypeInfo = typesInfo.FindTypeInfo(typeof(Currency)); ITypeInfo FiscalCalendarTypeInfo = typesInfo.FindTypeInfo(typeof(FiscalCalendar)); ITypeInfo FiscalCalendarCycleTypeInfo = typesInfo.FindTypeInfo(typeof(FiscalCalendarCycle)); ITypeInfo ItemTypeInfo = typesInfo.FindTypeInfo(typeof(Item)); ITypeInfo ItemDetailTypeInfo = typesInfo.FindTypeInfo(typeof(ItemDetail)); ITypeInfo ItemTypeTypeInfo = typesInfo.FindTypeInfo(typeof(ItemType)); ITypeInfo CompanyUserTypeInfo = typesInfo.FindTypeInfo(typeof(CompanyUser)); ITypeInfo CustomLogonTypeInfo = typesInfo.FindTypeInfo(typeof(CustomLogonParametersForStandardAuthentication)); ITypeInfo UserRoleTypeInfo = typesInfo.FindTypeInfo(typeof(UserRole)); ITypeInfo AuditableBaseTypeInfo = typesInfo.FindTypeInfo(typeof(AuditableBaseObject)); ITypeInfo CompanyBaseTypeInfo = typesInfo.FindTypeInfo(typeof(CompanyBaseObject)); ITypeInfo ConstsTypeInfo = typesInfo.FindTypeInfo(typeof(Consts)); ITypeInfo ObjectsDescriptionTypeInfo = typesInfo.FindTypeInfo(typeof(ObjectsDescription)); //BaseCatalog if (BaseCatalogTypeInfo != null) { BaseCatalogTypeInfo.AddAttribute(new DefaultClassOptionsAttribute()); IMemberInfo AccountNumberMemberInfo = BaseCatalogTypeInfo.OwnMembers.Where(m => m.Name == "AccountNumber").FirstOrDefault(); IMemberInfo NameMemberInfo = BaseCatalogTypeInfo.OwnMembers.Where(m => m.Name == "Name").FirstOrDefault(); if (AccountNumberMemberInfo != null && NameMemberInfo != null) { AccountNumberMemberInfo.AddAttribute(new SizeAttribute(SizeAttribute.DefaultStringMappingFieldSize)); NameMemberInfo.AddAttribute(new SizeAttribute(SizeAttribute.DefaultStringMappingFieldSize)); } } //BalanceCatalog if (BalanceCatalogTypeInfo != null) { BalanceCatalogTypeInfo.AddAttribute(new DefaultClassOptionsAttribute()); } //Catalog if (CatalogTypeInfo != null) { CatalogTypeInfo.AddAttribute(new DefaultClassOptionsAttribute()); IMemberInfo AccountNumberMemberInfo = CatalogTypeInfo.OwnMembers.Where(m => m.Name == "AccountNumber").FirstOrDefault(); IMemberInfo NameMemberInfo = CatalogTypeInfo.OwnMembers.Where(m => m.Name == "Name").FirstOrDefault(); if (AccountNumberMemberInfo != null && NameMemberInfo != null) { AccountNumberMemberInfo.AddAttribute(new SizeAttribute(SizeAttribute.DefaultStringMappingFieldSize)); NameMemberInfo.AddAttribute(new SizeAttribute(SizeAttribute.DefaultStringMappingFieldSize)); } } //Company if (CompanyTypeInfo != null) { CompanyTypeInfo.AddAttribute(new DefaultClassOptionsAttribute()); CompanyTypeInfo.AddAttribute(new NavigationItemAttribute("Catalogs")); CompanyTypeInfo.AddAttribute(new ModelDefaultAttribute("Caption", "Companies")); CompanyTypeInfo.AddAttribute(new PersistentAttribute(Consts.TablePrefix + "COMPANY")); CompanyTypeInfo.AddAttribute(new ObjectsDescription("Companies Catalog")); CompanyTypeInfo.AddAttribute(new VisibleInReportsAttribute(false)); CompanyTypeInfo.AddAttribute(new DefaultPropertyAttribute("Name")); //CompanyTypeInfo.AddAttribute(new AssociationAttribute("User-Companies",typeof(CompanyUser))); IMemberInfo NameMemberInfo = CompanyTypeInfo.OwnMembers.Where(m => m.Name == "Name").FirstOrDefault(); IMemberInfo CodeMemberInfo = CompanyTypeInfo.OwnMembers.Where(m => m.Name == "Code").FirstOrDefault(); IMemberInfo CurrencyMemberInfo = CompanyTypeInfo.OwnMembers.Where(m => m.Name == "Currency").FirstOrDefault(); IMemberInfo UsersMemberInfo = CompanyTypeInfo.OwnMembers.Where(m => m.Name == "Users").FirstOrDefault(); if (NameMemberInfo != null && CodeMemberInfo != null && CurrencyMemberInfo != null && UsersMemberInfo != null) { NameMemberInfo.AddAttribute(new SizeAttribute(SizeAttribute.DefaultStringMappingFieldSize)); NameMemberInfo.AddAttribute(new ModelDefaultAttribute("Caption", "Name")); NameMemberInfo.AddAttribute(new PersistentAttribute("NAME")); NameMemberInfo.AddAttribute(new ObjectsDescription("Company Name")); // CodeMemberInfo.AddAttribute(new SizeAttribute(SizeAttribute.DefaultStringMappingFieldSize)); CodeMemberInfo.AddAttribute(new ModelDefaultAttribute("Caption", "Code")); CodeMemberInfo.AddAttribute(new PersistentAttribute("CODE")); CodeMemberInfo.AddAttribute(new ObjectsDescription("Company Code")); // CurrencyMemberInfo.AddAttribute(new ModelDefaultAttribute("Caption", "Currency")); CurrencyMemberInfo.AddAttribute(new PersistentAttribute("CURRENCY")); CurrencyMemberInfo.AddAttribute(new ObjectsDescription("Company Transactions Currency")); // UsersMemberInfo.AddAttribute(new AssociationAttribute("Company-User", typeof(CompanyUser)), true); } } //CompanyUser if (CompanyUserTypeInfo != null) { CompanyUserTypeInfo.AddAttribute(new DefaultClassOptionsAttribute()); CompanyUserTypeInfo.AddAttribute(new NavigationItemAttribute("Security")); CompanyUserTypeInfo.AddAttribute(new ModelDefaultAttribute("Caption", "Users")); CompanyUserTypeInfo.AddAttribute(new PersistentAttribute(Consts.TablePrefix + "USER")); CompanyUserTypeInfo.AddAttribute(new ObjectsDescription("System Users")); CompanyUserTypeInfo.AddAttribute(new VisibleInReportsAttribute(false)); CompanyUserTypeInfo.AddAttribute(new DefaultPropertyAttribute("FullName")); CompanyUserTypeInfo.AddAttribute(new ImageNameAttribute("BO_Contact")); IMemberInfo FullNameMemberInfo = CompanyUserTypeInfo.OwnMembers.Where(m => m.Name == "FullName").FirstOrDefault(); IMemberInfo CompaniesMemberInfo = CompanyUserTypeInfo.OwnMembers.Where(m => m.Name == "Companies").FirstOrDefault(); if (FullNameMemberInfo != null && CompaniesMemberInfo != null) { FullNameMemberInfo.AddAttribute(new SizeAttribute(SizeAttribute.DefaultStringMappingFieldSize)); FullNameMemberInfo.AddAttribute(new PersistentAttribute("FULL_NAME")); FullNameMemberInfo.AddAttribute(new ObjectsDescription("User Full Name")); CompaniesMemberInfo.AddAttribute(new AssociationAttribute("Company-User", typeof(Company)), true); } } //Correlative if (CorrelativeTypeInfo != null) { CorrelativeTypeInfo.AddAttribute(new DefaultClassOptionsAttribute()); } //CostCenter if (CostCenterTypeInfo != null) { CostCenterTypeInfo.AddAttribute(new DefaultClassOptionsAttribute()); CostCenterTypeInfo.AddAttribute(new NavigationItemAttribute("Catalogs")); CostCenterTypeInfo.AddAttribute(new ModelDefaultAttribute("Caption", "Cost Center")); CostCenterTypeInfo.AddAttribute(new PersistentAttribute(Consts.TablePrefix + "COST_CENTER")); CostCenterTypeInfo.AddAttribute(new ObjectsDescription("CostCenter Catalog")); CostCenterTypeInfo.AddAttribute(new VisibleInReportsAttribute(false)); CostCenterTypeInfo.AddAttribute(new DefaultPropertyAttribute("Name")); IMemberInfo NameMemberInfo = CostCenterTypeInfo.OwnMembers.Where(m => m.Name == "Name").FirstOrDefault(); if (NameMemberInfo != null) { NameMemberInfo.AddAttribute(new SizeAttribute(SizeAttribute.DefaultStringMappingFieldSize)); } } //Currency if (CurrencyTypeInfo != null) { CurrencyTypeInfo.AddAttribute(new DefaultClassOptionsAttribute()); CurrencyTypeInfo.AddAttribute(new NavigationItemAttribute("Catalogs")); CurrencyTypeInfo.AddAttribute(new ModelDefaultAttribute("Caption", "Currency")); CurrencyTypeInfo.AddAttribute(new PersistentAttribute(Consts.TablePrefix + "CURRENCY")); CurrencyTypeInfo.AddAttribute(new ObjectsDescription("Currency Catalog")); CurrencyTypeInfo.AddAttribute(new VisibleInReportsAttribute(false)); CurrencyTypeInfo.AddAttribute(new DefaultPropertyAttribute("Description")); CurrencyTypeInfo.AddAttribute(new ImageNameAttribute("BO_Contact")); IMemberInfo DescriptionMemberInfo = CurrencyTypeInfo.OwnMembers.Where(m => m.Name == "Description").FirstOrDefault(); IMemberInfo SymbolMemberInfo = CurrencyTypeInfo.OwnMembers.Where(m => m.Name == "Symbol").FirstOrDefault(); if (SymbolMemberInfo != null && DescriptionMemberInfo != null) { DescriptionMemberInfo.AddAttribute(new SizeAttribute(SizeAttribute.DefaultStringMappingFieldSize)); DescriptionMemberInfo.AddAttribute(new ModelDefaultAttribute("Caption", "Description")); DescriptionMemberInfo.AddAttribute(new PersistentAttribute("DESCRIPTION")); DescriptionMemberInfo.AddAttribute(new ObjectsDescription("Description or Currency Name")); // SymbolMemberInfo.AddAttribute(new SizeAttribute(SizeAttribute.DefaultStringMappingFieldSize)); SymbolMemberInfo.AddAttribute(new ModelDefaultAttribute("Caption", "Symbol")); SymbolMemberInfo.AddAttribute(new PersistentAttribute("SYMBOL")); SymbolMemberInfo.AddAttribute(new ObjectsDescription("World Wide Representative Currency Character")); } } //FiscalCalendar if (FiscalCalendarTypeInfo != null) { FiscalCalendarTypeInfo.AddAttribute(new DefaultClassOptionsAttribute()); FiscalCalendarTypeInfo.AddAttribute(new NavigationItemAttribute("Catalogs")); FiscalCalendarTypeInfo.AddAttribute(new ModelDefaultAttribute("Caption", "Fiscal Calendar")); FiscalCalendarTypeInfo.AddAttribute(new PersistentAttribute(Consts.TablePrefix + "FISCAL_CALENDAR")); FiscalCalendarTypeInfo.AddAttribute(new ObjectsDescription("Work Calendar")); FiscalCalendarTypeInfo.AddAttribute(new VisibleInReportsAttribute(false)); FiscalCalendarTypeInfo.AddAttribute(new DefaultPropertyAttribute("Initial")); IMemberInfo CycleMemberInfo = FiscalCalendarTypeInfo.OwnMembers.Where(m => m.Name == "Cycle").FirstOrDefault(); if (CycleMemberInfo != null) { CycleMemberInfo.AddAttribute(new AssociationAttribute("FiscalCalendar-FiscalCalendarCycle", typeof(FiscalCalendarCycle)), true); CycleMemberInfo.AddAttribute(new DevExpress.Xpo.AggregatedAttribute(), true); } } //FiscalCalendarCycle if (FiscalCalendarCycleTypeInfo != null) { FiscalCalendarCycleTypeInfo.AddAttribute(new DefaultClassOptionsAttribute()); FiscalCalendarCycleTypeInfo.AddAttribute(new ModelDefaultAttribute("Caption", "Cycle")); FiscalCalendarCycleTypeInfo.AddAttribute(new PersistentAttribute(Consts.TablePrefix + "FISCAL_CALENDAR_CYCLES")); FiscalCalendarCycleTypeInfo.AddAttribute(new ObjectsDescription("Fiscal Calendar Cycles")); FiscalCalendarCycleTypeInfo.AddAttribute(new VisibleInReportsAttribute(false)); FiscalCalendarCycleTypeInfo.AddAttribute(new DefaultPropertyAttribute("Item")); IMemberInfo FiscalCalendarMemberInfo = FiscalCalendarCycleTypeInfo.OwnMembers.Where(m => m.Name == "FiscalCalendar").FirstOrDefault(); if (FiscalCalendarMemberInfo != null) { FiscalCalendarMemberInfo.AddAttribute(new AssociationAttribute("FiscalCalendar-FiscalCalendarCycle", typeof(FiscalCalendar)), true); } } //Item or Invoice if (ItemTypeInfo != null) { ItemTypeInfo.AddAttribute(new DefaultClassOptionsAttribute()); IMemberInfo ConceptMemberInfo = ItemTypeInfo.OwnMembers.Where(m => m.Name == "Concept").FirstOrDefault(); IMemberInfo DetailMemberInfo = ItemTypeInfo.OwnMembers.Where(m => m.Name == "Details").FirstOrDefault(); if (ConceptMemberInfo != null) { ConceptMemberInfo.AddAttribute(new SizeAttribute(250)); DetailMemberInfo.AddAttribute(new AssociationAttribute("Item-ItemDetails", typeof(ItemDetail)), true); DetailMemberInfo.AddAttribute(new DevExpress.Xpo.AggregatedAttribute(), true); } } //ItemDetail or InvoiceDetail if (ItemDetailTypeInfo != null) { ItemDetailTypeInfo.AddAttribute(new DefaultClassOptionsAttribute()); IMemberInfo ConceptMemberInfo = ItemDetailTypeInfo.OwnMembers.Where(m => m.Name == "Concept").FirstOrDefault(); IMemberInfo ItemMemberInfo = ItemDetailTypeInfo.OwnMembers.Where(m => m.Name == "Item").FirstOrDefault(); if (ConceptMemberInfo != null) { ConceptMemberInfo.AddAttribute(new SizeAttribute(SizeAttribute.Unlimited)); ItemMemberInfo.AddAttribute(new AssociationAttribute("Item-ItemDetails", typeof(Item)), true); } } //ItemType or InvoiceType if (ItemTypeTypeInfo != null) { ItemTypeTypeInfo.AddAttribute(new DefaultClassOptionsAttribute()); IMemberInfo NameMemberInfo = ItemTypeTypeInfo.OwnMembers.Where(m => m.Name == "Name").FirstOrDefault(); IMemberInfo CodeMemberInfo = ItemTypeTypeInfo.OwnMembers.Where(m => m.Name == "Code").FirstOrDefault(); if (NameMemberInfo != null && CodeMemberInfo != null) { NameMemberInfo.AddAttribute(new SizeAttribute(SizeAttribute.DefaultStringMappingFieldSize)); CodeMemberInfo.AddAttribute(new SizeAttribute(SizeAttribute.DefaultStringMappingFieldSize)); } } //CustomLogonParametersForStandardAuthentication if (CustomLogonTypeInfo != null) { CustomLogonTypeInfo.AddAttribute(new DomainComponentAttribute()); } //User Role if (UserRoleTypeInfo != null) { UserRoleTypeInfo.AddAttribute(new DefaultClassOptionsAttribute()); UserRoleTypeInfo.AddAttribute(new NavigationItemAttribute("Security")); UserRoleTypeInfo.AddAttribute(new ModelDefaultAttribute("Caption", "Users Roles")); UserRoleTypeInfo.AddAttribute(new PersistentAttribute(Consts.TablePrefix + "USER_ROLE")); UserRoleTypeInfo.AddAttribute(new ObjectsDescription("System Users Roles")); UserRoleTypeInfo.AddAttribute(new ImageNameAttribute("BO_Contact")); } //AuditableBaseObject if (AuditableBaseTypeInfo != null) { AuditableBaseTypeInfo.AddAttribute(new NonPersistentAttribute()); IMemberInfo CreatedByMemberInfo = AuditableBaseTypeInfo.OwnMembers.Where(m => m.Name == "CreatedBy").FirstOrDefault(); IMemberInfo ModifiedByMemberInfo = AuditableBaseTypeInfo.OwnMembers.Where(m => m.Name == "ModifiedBy").FirstOrDefault(); IMemberInfo CreationDateMemberInfo = AuditableBaseTypeInfo.OwnMembers.Where(m => m.Name == "CreationDate").FirstOrDefault(); IMemberInfo ModificationDateMemberInfo = AuditableBaseTypeInfo.OwnMembers.Where(m => m.Name == "ModificationDate").FirstOrDefault(); IMemberInfo UserMemberInfo = AuditableBaseTypeInfo.OwnMembers.Where(m => m.Name == "User").FirstOrDefault(); if (CreatedByMemberInfo != null && ModifiedByMemberInfo != null && CreationDateMemberInfo != null && ModificationDateMemberInfo != null && UserMemberInfo != null) { CreatedByMemberInfo.AddAttribute(new SizeAttribute(SizeAttribute.DefaultStringMappingFieldSize)); CreatedByMemberInfo.AddAttribute(new ModelDefaultAttribute("Caption", "Created By")); CreatedByMemberInfo.AddAttribute(new PersistentAttribute("CREATED_BY")); CreatedByMemberInfo.AddAttribute(new ObjectsDescription("Name of the record creator ")); CreatedByMemberInfo.AddAttribute(new VisibleInDetailViewAttribute(false)); CreatedByMemberInfo.AddAttribute(new VisibleInListViewAttribute(false)); CreatedByMemberInfo.AddAttribute(new VisibleInLookupListViewAttribute(false)); AppearanceAttribute attribute = new AppearanceAttribute("Disable CreatedBy"); attribute.TargetItems = "CreatedBy"; attribute.Enabled = false; CreatedByMemberInfo.AddAttribute(attribute); // ModifiedByMemberInfo.AddAttribute(new SizeAttribute(SizeAttribute.DefaultStringMappingFieldSize)); ModifiedByMemberInfo.AddAttribute(new ModelDefaultAttribute("Caption", "Modified By")); ModifiedByMemberInfo.AddAttribute(new PersistentAttribute("MODIFIED_BY")); ModifiedByMemberInfo.AddAttribute(new ObjectsDescription("Last user that modified the record")); ModifiedByMemberInfo.AddAttribute(new VisibleInDetailViewAttribute(false)); ModifiedByMemberInfo.AddAttribute(new VisibleInListViewAttribute(false)); ModifiedByMemberInfo.AddAttribute(new VisibleInLookupListViewAttribute(false)); AppearanceAttribute attribute2 = new AppearanceAttribute("Disable ModifiedBy"); attribute2.TargetItems = "ModifiedBy"; attribute2.Enabled = false; ModifiedByMemberInfo.AddAttribute(attribute2); // CreationDateMemberInfo.AddAttribute(new ModelDefaultAttribute("Caption", "Creation Date")); CreationDateMemberInfo.AddAttribute(new PersistentAttribute("CREATION_DATE")); CreationDateMemberInfo.AddAttribute(new ObjectsDescription("Record's Creation Date")); CreationDateMemberInfo.AddAttribute(new VisibleInDetailViewAttribute(false)); CreationDateMemberInfo.AddAttribute(new VisibleInListViewAttribute(false)); CreationDateMemberInfo.AddAttribute(new VisibleInLookupListViewAttribute(false)); AppearanceAttribute attribute3 = new AppearanceAttribute("Disable CreationDate"); attribute3.TargetItems = "CreationDate"; attribute3.Enabled = false; CreationDateMemberInfo.AddAttribute(attribute3); // ModificationDateMemberInfo.AddAttribute(new ModelDefaultAttribute("Caption", "Modification Date")); ModificationDateMemberInfo.AddAttribute(new PersistentAttribute("MODIFICATION_DATE")); ModificationDateMemberInfo.AddAttribute(new ObjectsDescription("Record's Creation Date")); ModificationDateMemberInfo.AddAttribute(new VisibleInDetailViewAttribute(false)); ModificationDateMemberInfo.AddAttribute(new VisibleInListViewAttribute(false)); ModificationDateMemberInfo.AddAttribute(new VisibleInLookupListViewAttribute(false)); AppearanceAttribute attribute4 = new AppearanceAttribute("Disable ModificationDate"); attribute4.TargetItems = "ModificationDate"; attribute4.Enabled = false; ModificationDateMemberInfo.AddAttribute(attribute4); // UserMemberInfo.AddAttribute(new ModelDefaultAttribute("Caption", "User")); UserMemberInfo.AddAttribute(new PersistentAttribute("USER")); UserMemberInfo.AddAttribute(new ObjectsDescription("User that Create or Modify the Record")); UserMemberInfo.AddAttribute(new VisibleInDetailViewAttribute(false)); UserMemberInfo.AddAttribute(new VisibleInListViewAttribute(false)); UserMemberInfo.AddAttribute(new VisibleInLookupListViewAttribute(false)); AppearanceAttribute attribute5 = new AppearanceAttribute("Disable User"); attribute5.TargetItems = "User"; attribute5.Enabled = false; UserMemberInfo.AddAttribute(attribute5); } } //CompanyBaseObject if (CompanyBaseTypeInfo != null) { CompanyBaseTypeInfo.AddAttribute(new NonPersistentAttribute()); IMemberInfo CompanyBaseMemberInfo = AuditableBaseTypeInfo.OwnMembers.Where(m => m.Name == "Company").FirstOrDefault(); if (CompanyBaseMemberInfo != null) { CompanyBaseMemberInfo.AddAttribute(new ModelDefaultAttribute("Caption", "Company")); CompanyBaseMemberInfo.AddAttribute(new PersistentAttribute("COMPANY")); CompanyBaseMemberInfo.AddAttribute(new ObjectsDescription("Reference to the Owner Company of the Record")); CompanyBaseMemberInfo.AddAttribute(new VisibleInDetailViewAttribute(false)); CompanyBaseMemberInfo.AddAttribute(new VisibleInListViewAttribute(false)); CompanyBaseMemberInfo.AddAttribute(new VisibleInLookupListViewAttribute(false)); AppearanceAttribute attribute6 = new AppearanceAttribute("Disable Company"); attribute6.TargetItems = "Company"; attribute6.Enabled = false; CompanyBaseMemberInfo.AddAttribute(attribute6); } } //Consts if (ConstsTypeInfo != null) { ConstsTypeInfo.AddAttribute(new DataContractAttribute()); IMemberInfo TablePrefixMemberInfo = ConstsTypeInfo.OwnMembers.Where(m => m.Name == "TablePrefix").FirstOrDefault(); IMemberInfo TwoDecimalNumericMaskMemberInfo = ConstsTypeInfo.OwnMembers.Where(m => m.Name == "TwoDecimalNumericMask").FirstOrDefault(); IMemberInfo SixDecimalNumericMaskxMemberInfo = ConstsTypeInfo.OwnMembers.Where(m => m.Name == "SixDecimalNumericMask").FirstOrDefault(); IMemberInfo NoDecimalNumericMaskMemberInfo = ConstsTypeInfo.OwnMembers.Where(m => m.Name == "NoDecimalNumericMask").FirstOrDefault(); if (TablePrefixMemberInfo != null && TwoDecimalNumericMaskMemberInfo != null && SixDecimalNumericMaskxMemberInfo != null && NoDecimalNumericMaskMemberInfo != null) { TablePrefixMemberInfo.AddAttribute(new DataMemberAttribute()); TwoDecimalNumericMaskMemberInfo.AddAttribute(new DataMemberAttribute()); SixDecimalNumericMaskxMemberInfo.AddAttribute(new DataMemberAttribute()); NoDecimalNumericMaskMemberInfo.AddAttribute(new DataMemberAttribute()); } } //ObjectDescription if (ObjectsDescriptionTypeInfo != null) { ObjectsDescriptionTypeInfo.AddAttribute(new AttributeUsageAttribute(AttributeTargets.Class)); ObjectsDescriptionTypeInfo.AddAttribute(new AttributeUsageAttribute(AttributeTargets.Property)); } }