Beispiel #1
0
        public static string GetPropertyName(this Column column)
        {
            var name = column.Name;

            foreach (var item in DotNetNamingConvention.invalidChars)
            {
                name = name.Replace(item, '_');
            }

            return(namingConvention.GetPropertyName(name));
        }
Beispiel #2
0
        /// <summary>
        /// Gets a class definition from <see cref="DbDataReader"/> implementation
        /// </summary>
        /// <param name="dataReader">Implementation of <see cref="DbDataReader"/> class</param>
        /// <param name="name">Class name</param>
        /// <param name="namingConvention">Implementation of <see cref="ICodeNamingConvention"/> interface</param>
        /// <returns></returns>
        public static ClassDefinition GetClassDefinition(this DbDataReader dataReader, string name = null, ICodeNamingConvention namingConvention = null)
        {
            var definition = new ClassDefinition
            {
                AccessModifier = AccessModifier.Public,
                Name           = name ?? "Class1"
            };

            if (dataReader.FieldCount > 0)
            {
                for (var i = 0; i < dataReader.FieldCount; i++)
                {
                    var propertyType = dataReader.GetFieldType(i);
                    var propertyName = namingConvention == null?dataReader.GetName(i) : namingConvention.GetPropertyName(dataReader.GetName(i));

                    definition.Properties.Add(new PropertyDefinition
                    {
                        AccessModifier = AccessModifier.Public,
                        Type           = propertyType.Name,
                        Name           = propertyName,
                        IsAutomatic    = true
                    });
                }
            }

            return(definition);
        }
 public static string GetGetByUniqueRepositoryMethodName(this ITable dbObject, Unique unique)
 => string.Format("Get{0}By{1}Async", dbObject.GetEntityName(), string.Join("And", unique.Key.Select(item => CodeNamingConvention.GetPropertyName(item))));