private static ArchAngel.Interfaces.Scripting.NHibernate.Model.IProperty ConvertProperty(Dictionary<ArchAngel.Providers.EntityModel.Model.DatabaseLayer.IColumn, ArchAngel.Interfaces.Scripting.NHibernate.Model.IColumn> columnLookups, Property property, PropertyAccessTypes entityDefaultAccess) { ArchAngel.Interfaces.Scripting.NHibernate.Model.IProperty newProperty = new ArchAngel.Interfaces.Scripting.NHibernate.Model.IProperty() { Name = property.Name, Type = property.Type.Replace(SharedData.CurrentProject.GetUserOption("ProjectNamespace").ToString() + ".Model.", ""), IsInherited = property.IsInherited, IsSetterPrivate = (bool)SharedData.CurrentProject.GetUserOption("UsePrivateSettersOnProperties") || (bool)property.GetUserOptionValue("Property_UsePrivateSetter"), ScriptObject = property, IsKeyProperty = property.IsKeyProperty, PreviousNames = property.OldNames.ToList(), //Access = (ArchAngel.Interfaces.Scripting.NHibernate.Model.PropertyAccessTypes)Enum.Parse(typeof(ArchAngel.Interfaces.Scripting.NHibernate.Model.PropertyAccessTypes), property.GetPropertyAccess().ToString(), true), Formula = property.GetPropertyFormula(), Insert = property.GetPropertyInsert(), Update = property.GetPropertyUpdate(), Generate = (ArchAngel.Interfaces.Scripting.NHibernate.Model.PropertyGeneratedTypes)Enum.Parse(typeof(ArchAngel.Interfaces.Scripting.NHibernate.Model.PropertyGeneratedTypes), property.GetPropertyGenerated().ToString(), true), IsVersionProperty = property.GetPropertyIsVersion(), IsNullable = IsTypeNullable(property.Type), TypeVB = ConvertTypeToVb(property.Type) }; string accessType = property.GetPropertyAccess().ToString(); if (accessType == PropertyAccessTypes.inherit_default.ToString()) newProperty.Access = (ArchAngel.Interfaces.Scripting.NHibernate.Model.PropertyAccessTypes)Enum.Parse(typeof(ArchAngel.Interfaces.Scripting.NHibernate.Model.PropertyAccessTypes), entityDefaultAccess.ToString(), true); else newProperty.Access = (ArchAngel.Interfaces.Scripting.NHibernate.Model.PropertyAccessTypes)Enum.Parse(typeof(ArchAngel.Interfaces.Scripting.NHibernate.Model.PropertyAccessTypes), accessType, true); ArchAngel.Providers.EntityModel.Model.DatabaseLayer.IColumn mappedColumn = property.MappedColumn(); if (mappedColumn != null) { newProperty.MappedColumn = columnLookups[mappedColumn]; newProperty.MappedColumnName = mappedColumn.Name; } //else //{ // List<Entity> children = property.Entity.Children.Where(c => EntityImpl.DetermineInheritanceTypeWithParent(c) == EntityImpl.InheritanceType.TablePerClassHierarchy).ToList(); // if (children.c) //} return newProperty; }
internal static void GetEntityCollectionDefaults( bool topLevelLazy, ArchAngel.Interfaces.NHibernateEnums.TopLevelCascadeTypes topLevelCascade, ArchAngel.Interfaces.NHibernateEnums.TopLevelAccessTypes topLevelAccess, Entity entity, out CollectionLazyTypes entityDefaultLazy, out CascadeTypes entityDefaultCascade, out PropertyAccessTypes entityDefaultAccess) { entityDefaultLazy = entity.GetEntityDefaultCollectionLazy(); if (entityDefaultLazy == CollectionLazyTypes.inherit_default) { if (topLevelLazy) entityDefaultLazy = CollectionLazyTypes.@true; else entityDefaultLazy = CollectionLazyTypes.@false; } entityDefaultCascade = entity.GetEntityDefaultCascade(); if (entityDefaultCascade == CascadeTypes.inherit_default) entityDefaultCascade = (CascadeTypes)Enum.Parse(typeof(CascadeTypes), topLevelCascade.ToString(), false); entityDefaultAccess = entity.GetEntityDefaultAccess(); if (entityDefaultAccess == PropertyAccessTypes.inherit_default) entityDefaultAccess = (PropertyAccessTypes)Enum.Parse(typeof(PropertyAccessTypes), topLevelAccess.ToString(), false); }