static ColumnExtensions()
        {
            invalidChars = new List <char>
            {
                '~', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '-', '=', '+', ';', ':', '"', ',', '.', '/', '?'
            };

            namingConvention = new DotNetNamingConvention();
        }
示例#2
0
 static ColumnExtensions()
 {
     namingConvention = new DotNetNamingConvention();
 }
 static ProjectFeaturetExtensions()
 {
     namingConvention = new DotNetNamingConvention();
 }
        public static TypeScriptInterfaceDefinition RefactInterface(this TypeScriptClassDefinition classDefinition, ICodeNamingConvention namingConvention = null, params string[] exclusions)
        {
            var interfaceDefinition = new TypeScriptInterfaceDefinition();

            if (namingConvention == null)
            {
                namingConvention = new TypeScriptNamingConvention();
            }

            interfaceDefinition.Name = namingConvention.GetInterfaceName(classDefinition.Name);

            interfaceDefinition.Namespaces = classDefinition.Namespaces;

            foreach (var @event in classDefinition.Events.Where(item => item.AccessModifier == AccessModifier.Public && !exclusions.Contains(item.Name)))
            {
                interfaceDefinition.Events.Add(new EventDefinition(@event.Type, @event.Name));
            }

            foreach (var property in classDefinition.Properties.Where(item => item.AccessModifier == AccessModifier.Public && !exclusions.Contains(item.Name)))
            {
                interfaceDefinition.Properties.Add(new PropertyDefinition(property.Type, property.Name)
                {
                    IsAutomatic = property.IsAutomatic,
                    IsReadOnly  = property.IsReadOnly
                });
            }

            foreach (var method in classDefinition.Methods.Where(item => item.AccessModifier == AccessModifier.Public && !exclusions.Contains(item.Name)))
            {
                interfaceDefinition.Methods.Add(new MethodDefinition(method.Type, method.Name, method.Parameters.ToArray()));
            }

            return(interfaceDefinition);
        }
        public static TypeScriptClassDefinition RefactClass(this object obj, string name = null, ICodeNamingConvention namingConvention = null)
        {
            var sourceType = obj.GetType();

            var classDefinition = new TypeScriptClassDefinition
            {
                Name = string.IsNullOrEmpty(name) ? sourceType.Name : name
            };

            if (namingConvention == null)
            {
                namingConvention = new TypeScriptNamingConvention();
            }

            foreach (var property in sourceType.GetProperties().Where(item => item.CanRead))
            {
                classDefinition.Fields.Add(new FieldDefinition(TypeScriptTypeResolver.Resolve(property.PropertyType.Name), namingConvention.GetFieldName(property.Name)));

                classDefinition.Properties.Add(new PropertyDefinition(TypeScriptTypeResolver.Resolve(property.PropertyType.Name), namingConvention.GetPropertyName(property.Name)));
            }

            return(classDefinition);
        }
示例#6
0
 static CSharpClassExtensions()
 {
     NamingConvention = new DotNetNamingConvention();
 }
示例#7
0
        public static TypeScriptClassDefinition RefactClass(this object obj, string name = null, ICodeNamingConvention namingConvention = null, bool convertPropertiesToFields = true)
        {
            var sourceType = obj.GetType();

            var classDefinition = new TypeScriptClassDefinition
            {
                Name = string.IsNullOrEmpty(name) ? sourceType.Name : name
            };

            if (namingConvention == null)
            {
                namingConvention = new TypeScriptNamingConvention();
            }

            foreach (var property in sourceType.GetProperties().Where(item => item.CanRead))
            {
                var type = TypeScriptTypeResolver.Resolve(property.PropertyType.Name);

                var fieldName = string.Format("m_{0}", namingConvention.GetFieldName(property.Name));

                if (convertPropertiesToFields)
                {
                    classDefinition.Fields.Add(new FieldDefinition(AccessModifier.Public, type, namingConvention.GetPropertyName(property.Name)));
                }
                else
                {
                    classDefinition.Fields.Add(new FieldDefinition(AccessModifier.Private, type, fieldName));

                    classDefinition.Properties.Add(new PropertyDefinition(AccessModifier.Public, type, namingConvention.GetPropertyName(property.Name))
                    {
                        IsAutomatic = true
                    });
                }
            }

            return(classDefinition);
        }
 static EntityFrameworkCoreProjectExtensions()
 {
     namingConvention = new DotNetNamingConvention();
 }
示例#9
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);
        }
 static NamingExtensions()
 {
     namingConvention = new DotNetNamingConvention();
     namingService    = new NamingService();
 }
示例#11
0
 static DbObjectExtensions()
 {
     namingConvention = new DotNetNamingConvention();
 }
示例#12
0
 static AspNetCoreProjectExtensions()
 {
     namingConvention = new DotNetNamingConvention();
 }