private void AddExtraInfoToProperty(property xmlProp, Property originalProp) { xmlProp.insert = originalProp.GetPropertyInsert(); xmlProp.update = originalProp.GetPropertyUpdate(); string formula = originalProp.GetPropertyFormula(); if (!string.IsNullOrWhiteSpace(formula)) xmlProp.formula = formula; xmlProp.optimisticlock = originalProp.GetPropertyOptimisticLock(); xmlProp.generated = (propertyGeneration)Enum.Parse(typeof(propertyGeneration), originalProp.GetPropertyGenerated().ToString()); var access = originalProp.GetPropertyAccess(); if (access != Interfaces.NHibernateEnums.PropertyAccessTypes.inherit_default) xmlProp.access = access.ToString().Replace("_", "-"); if (!originalProp.GetPropertyInsert()) { xmlProp.insertSpecified = true; xmlProp.insert = false; } if (!originalProp.GetPropertyUpdate()) { xmlProp.updateSpecified = true; xmlProp.update = false; } }
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; }