public void Apply(IComponentInstance instance)
 {
     foreach (var property in instance.Properties)
     {
         property.Column(instance.Name + "_" + property.Name);
     }
 }
 public void Apply(IComponentInstance instance)
 {
     foreach (var property in instance.Properties)
     {
         property.Column(instance.Name + "_" + property.Name);
     }
 }
Пример #3
0
        /// <summary>
        /// Applies the column name based on type.
        /// </summary>
        /// <param name="instance">The instance.</param>
        public void Apply(IComponentInstance instance)
        {
            var namingStrategy = instance.GetNamingStrategy();

            foreach (var propertyInstance in instance.Properties)
            {
                var columnName = namingStrategy.GetColumnName(instance.Property, propertyInstance.Property, false);
                if (propertyInstance.Property.PropertyType.IsEnum ||
                    propertyInstance.Property.PropertyType.IsNullableEnum())
                {
                    columnName = GetColumnNameForEnum(columnName);
                }
                if (columnName.IsNullOrEmpty())
                {
                    columnName = instance.Name;
                }
                var fieldName = instance.Property.MemberInfo.GetAttribute <FieldAttribute>();
                if (fieldName != null)
                {
                    columnName = fieldName.Name;
                }
                else
                {
                    columnName = columnName.ToPascalCaseWithUndescore(); //NamingHelper.ToUppercase(columnName);
                }
                columnName = columnName.ToLower();
                propertyInstance.Column(columnName);
            }
        }
Пример #4
0
 public void Apply(IComponentInstance instance)
 {
     foreach (var item in instance.References)
     {
         SetManyToOneForeignKey(item, instance);
     }
 }
 public void Apply(IComponentInstance instance)
 {
     if (instance.Type == typeof(Address))
     {
         instance.Properties.First(p => p.Type.GetType() == typeof(int))
         .Column("different");
     }
 }
Пример #6
0
        /// <summary>
        /// Applies Column name based on naming strategy for all properties.
        /// </summary>
        /// <param name="instance">The instance.</param>
        public void Apply(IComponentInstance instance)
        {
            var namingStrategy = instance.GetNamingStrategy();

            foreach (var propertyInstance in instance.Properties)
            {
                var columnName = namingStrategy.GetColumnName(instance.Property, propertyInstance.Property, false);
                Apply(propertyInstance, columnName);
            }
        }
        /// <summary>
        /// Applies Column name based on naming strategy for all properties.
        /// </summary>
        /// <param name="instance">The instance.</param>
        public void Apply( IComponentInstance instance )
        {
            var namingStrategy = instance.GetNamingStrategy ();

            foreach ( var propertyInstance in instance.Properties )
            {
                var columnName = namingStrategy.GetColumnName ( instance.Property, propertyInstance.Property, false );
                Apply ( propertyInstance, columnName );
            }
        }
Пример #8
0
        /// <summary>
        /// Converts to I component mapping.
        /// </summary>
        /// <param name="componentInstance">The component instance.</param>
        /// <returns>A <see cref="FluentNHibernate.MappingModel.ClassBased.IComponentMapping"/></returns>
        public static IComponentMapping ConvertToIComponentMapping(this IComponentInstance componentInstance)
        {
            var componentBaseInspector = componentInstance as ComponentBaseInspector;

            var mappingField = componentBaseInspector.GetType().GetField("mapping", BindingFlags.Instance | BindingFlags.NonPublic);

            var mapping = mappingField.GetValue(componentBaseInspector) as IComponentMapping;

            return(mapping);
        }
Пример #9
0
        /// <summary>
        /// Creates Foreign Key indexes for components.
        /// </summary>
        /// <param name="instance">The instance.</param>
        public void Apply( IComponentInstance instance )
        {
            var entityType = instance.EntityType;

            if ( !entityType.IsNHibernateComponent () )
            {
                var mapping = instance.ConvertToIComponentMapping ();

                CreateForeignKeyIndexes ( mapping, entityType );
            }
        }
Пример #10
0
 /// <summary>
 /// Applies Foriegn key column name based on type.
 /// </summary>
 /// <param name="instance">The instance.</param>
 public void Apply(IComponentInstance instance)
 {
     foreach (var manyToOneInspector in instance.References)
     {
         var namingStrategy = instance.GetNamingStrategy();
         var columnName     = namingStrategy.GetColumnName(instance.Property, manyToOneInspector.Property, false);
         columnName = $"{columnName.ToPascalCaseWithUndescore()}_Id";
         columnName = columnName.ToLower();
         manyToOneInspector.Column(columnName);
     }
 }
Пример #11
0
        /// <summary>
        /// Applies Foriegn key based on type.
        /// </summary>
        /// <param name="instance">The instance.</param>
        public void Apply(IComponentInstance instance)
        {
            var entityType = instance.EntityType;

            if (!entityType.IsNHibernateComponent())
            {
                var mapping = instance.ConvertToIComponentMapping();

                CreateForeignKeys(mapping, entityType);
            }
        }
Пример #12
0
        public void Apply(IComponentInstance instance)
        {
            foreach (var item in instance.Properties)
            {
                item.Column(instance.Property.Name + item.Property.Name);
            }

            var entityInstance = entities.GetOrDefault(instance.EntityType);

            ApplyConventionForReferences(instance, entityInstance);
            ApplyConventionForProperties(instance, entityInstance);
        }
Пример #13
0
        public void Apply(IComponentInstance instance)
        {
            if (instance.Property.Name == "Auditoria")
            {
                return;
            }

            foreach (var item in instance.Properties)
            {
                item.Column(instance.Property.Name + item.Property.Name);
            }
        }
Пример #14
0
 /// <summary>
 /// Applies Foriegn key column name based on type.
 /// </summary>
 /// <param name="instance">The instance.</param>
 public void Apply(IComponentInstance instance)
 {
     foreach (var manyToOneInspector in instance.References)
     {
         var namingStrategy = instance.GetNamingStrategy();
         var columnName     = namingStrategy.GetColumnName(instance.Property, manyToOneInspector.Property, false);
         if (typeof(ILookup).IsAssignableFrom(manyToOneInspector.Property.PropertyType))
         {
             columnName += "Lkp";
         }
         manyToOneInspector.Column(columnName + "Key");
     }
 }
 /// <summary>
 /// Applies Foriegn key column name based on type.
 /// </summary>
 /// <param name="instance">The instance.</param>
 public void Apply( IComponentInstance instance )
 {
     foreach ( var manyToOneInspector in instance.References )
     {
         var namingStrategy = instance.GetNamingStrategy ();
         var columnName = namingStrategy.GetColumnName ( instance.Property, manyToOneInspector.Property, false );
         if ( typeof( ILookup ).IsAssignableFrom ( manyToOneInspector.Property.PropertyType ) )
         {
             columnName += "Lkp";
         }
         manyToOneInspector.Column ( columnName + "Key" );
     }
 }
Пример #16
0
        /// <summary>
        /// Applies nullablity based on type.
        /// </summary>
        /// <param name="instance">The instance.</param>
        public void Apply(IComponentInstance instance)
        {
            var entityType = instance.EntityType;

            if (!entityType.IsNHibernateComponent())
            {
                var rootComponentMember = instance.Property;
                if (!rootComponentMember.IsDbNullable())
                {
                    var mapping = instance.ConvertToIComponentMapping();
                    ProcessSettingNotNullable(mapping);
                }
            }
        }
Пример #17
0
        /// <summary>
        /// Applies nullablity based on type.
        /// </summary>
        /// <param name="instance">The instance.</param>
        public void Apply( IComponentInstance instance )
        {
            var entityType = instance.EntityType;

            if ( !entityType.IsNHibernateComponent () )
            {
                var rootComponentMember = instance.Property;
                if ( !rootComponentMember.IsDbNullable () )
                {
                    var mapping = instance.ConvertToIComponentMapping ();
                    ProcessSettingNotNullable ( mapping );
                }
            }
        }
Пример #18
0
        /// <summary>
        /// Applies access based on type.
        /// </summary>
        /// <param name="instance">The instance.</param>
        public void Apply( IComponentInstance instance )
        {
            var entityType = instance.EntityType;
            var propertyName = instance.Name;
            var propertyInfo = entityType.GetProperty ( propertyName, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance );

            if ( propertyInfo.IsAutoProperty () )
            {
                instance.Access.BackField ();
            }
            else
            {
                instance.Access.CamelCaseField ( CamelCasePrefix.Underscore );
            }
        }
Пример #19
0
        /// <summary>
        /// Sets length based on name.
        /// </summary>
        /// <param name="instance">The instance.</param>
        public void Apply(IComponentInstance instance)
        {
            var stringProperties = instance.Properties.Where(p => p.Property.PropertyType == typeof(string));

            if (stringProperties.Count() > 0)
            {
                var namingStrategy = instance.GetNamingStrategy();

                foreach (var propertyInstance in stringProperties)
                {
                    var columnName = namingStrategy.GetColumnName(instance.Property, propertyInstance.Property, false);
                    Apply(propertyInstance, columnName);
                }
            }
        }
Пример #20
0
        /// <summary>
        /// Applies access based on type.
        /// </summary>
        /// <param name="instance">The instance.</param>
        public void Apply(IComponentInstance instance)
        {
            var entityType   = instance.EntityType;
            var propertyName = instance.Name;
            var propertyInfo = entityType.GetProperty(propertyName, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);

            if (propertyInfo.IsAutoProperty())
            {
                instance.Access.BackField();
            }
            else
            {
                instance.Access.CamelCaseField(CamelCasePrefix.Underscore);
            }
        }
Пример #21
0
        /// <summary>
        /// Applies the column name based on type.
        /// </summary>
        /// <param name="instance">The instance.</param>
        public void Apply(IComponentInstance instance)
        {
            var namingStrategy = instance.GetNamingStrategy();

            foreach (var propertyInstance in instance.Properties)
            {
                var columnName = namingStrategy.GetColumnName(instance.Property, propertyInstance.Property, false);

                if (propertyInstance.Property.PropertyType.IsEnum ||
                    propertyInstance.Property.PropertyType.IsNullableEnum())
                {
                    columnName = GetColumnNameForEnum(columnName);
                }

                propertyInstance.Column(columnName);
            }
        }
Пример #22
0
 public ComponentDto(IComponentInstance component) : base(component.Id)
 {
     componentType = component.ComponentType;
     name          = component.Name;
     if (component.RootSelector != null)
     {
         // TODO(**): save scss value even if we can't parse it
         rootSelector = new
         {
             combineWithRoot = component.RootSelector.CombineWithRoot,
             scss            = component.RootSelector.Value,
             css             = component.RootSelector.Css,
             xpath           = component.RootSelector.Xpath
         };
     }
     constructorParams = component.ConstructorParams;
 }
Пример #23
0
        /// <summary>
        /// Applies the column name based on type.
        /// </summary>
        /// <param name="instance">The instance.</param>
        public void Apply( IComponentInstance instance )
        {
            var namingStrategy = instance.GetNamingStrategy ();

            foreach ( var propertyInstance in instance.Properties )
            {
                var columnName = namingStrategy.GetColumnName ( instance.Property, propertyInstance.Property, false );

                if ( propertyInstance.Property.PropertyType.IsEnum ||
                     propertyInstance.Property.PropertyType.IsNullableEnum () )
                {
                    columnName = GetColumnNameForEnum ( columnName );
                }

                propertyInstance.Column ( columnName );
            }
        }
Пример #24
0
 public void Apply(IComponentInstance instance)
 {
 }
Пример #25
0
 public void Apply(IComponentInstance instance)
 {
     instance.Access.CamelCaseField(CamelCasePrefix.Underscore);
 }
Пример #26
0
 /// <summary>
 /// component에 대해 convention 을 적용합니다.
 /// </summary>
 public void Apply(IComponentInstance instance)
 {
     instance.Properties.RunEach(p => p.Column(GetAbbrName(instance.Name) + GetAbbrName(p.Name)));
 }
Пример #27
0
 public void Apply(IComponentInstance instance)
 {
     instance.Unique();
 }
Пример #28
0
 public virtual void Apply(IComponentInstance instance)
 {
     Apply(instance.EntityType, instance.Name, instance.Access);
 }
Пример #29
0
 public virtual void Apply(IComponentInstance instance)
 {
     Apply(instance.EntityType, instance.Name, instance.Access);
 }
Пример #30
0
        /// <summary>
        /// Sets length based on name.
        /// </summary>
        /// <param name="instance">The instance.</param>
        public void Apply( IComponentInstance instance )
        {
            var stringProperties = instance.Properties.Where ( p => p.Property.PropertyType == typeof( string ) );
            if ( stringProperties.Count () > 0 )
            {
                var namingStrategy = instance.GetNamingStrategy ();

                foreach ( var propertyInstance in stringProperties )
                {
                    var columnName = namingStrategy.GetColumnName ( instance.Property, propertyInstance.Property, false );
                    Apply ( propertyInstance, columnName );
                }
            }
        }
Пример #31
0
 /// <summary>
 /// Apply changes to the target
 /// </summary>
 public void Apply(IComponentInstance instance)
 {
     instance.Properties.RunEach(
         p => p.Column(GetAbbrName(instance.Name).ToOracleNaming() + Delimiter + GetAbbrName(p.Name).ToOracleNaming()));
 }
Пример #32
0
        public void Apply(IComponentInstance instance)
        {
            var p = instance.Property;

            Debug.WriteLine("----ComponentConvention----"+p);
        }
Пример #33
0
        public void Apply(IComponentInstance instance)
        {
            var p = instance.Property;

            Debug.WriteLine("----ComponentConvention----" + p);
        }
 public void Apply(IComponentInstance instance)
 {
     instance.Properties.First().Column(string.Empty);
 }