public static CodeTypeDeclaration GetEarlyBoundEntityClassDeclaration(CodeTypeDeclaration type) { var entityClass = new CodeTypeDeclaration(BaseEntityName) { IsClass = true, TypeAttributes = TypeAttributes.Public | TypeAttributes.Abstract, BaseTypes = { new CodeTypeReference(typeof(Microsoft.Xrm.Sdk.Entity)), new CodeTypeReference(typeof(System.ComponentModel.INotifyPropertyChanging)), new CodeTypeReference(typeof(System.ComponentModel.INotifyPropertyChanged)) } }; AddEntityConstructors(entityClass); entityClass.Members.AddRange(type.Members.Cast <CodeTypeMember>().Where(p => BaseEntityMembers.Contains(p.Name)).Select(GetCodeTypeMember).ToArray()); if (CustomizeCodeDomService.GenerateEnumProperties) { entityClass.Members.Add(EnumPropertyGenerator.CreateGetEnumMethod()); } return(entityClass); }
public static CodeTypeDeclaration GetUserEntity(CodeTypeDeclaration type) { var entityClass = new CodeTypeDeclaration(UserEntityName) { IsClass = true, TypeAttributes = TypeAttributes.Public, BaseTypes = { new CodeTypeReference(BaseEntityName) } }; AddEntityConstructors(entityClass); var entityOnlyMembers = new HashSet <string>(UserEntityMembers.Where(m => !BaseEntityMembers.Contains(m))); entityClass.Members.AddRange(type.Members.Cast <CodeTypeMember>().Where(p => entityOnlyMembers.Contains(p.Name)).ToArray()); return(entityClass); }