示例#1
0
        //
        public static void SetGeneratorInformations(
            string targetDatabaseName,
            string destinationPath,
            GenerateAreaMode generateAreaMode,
            AttributesLanguageMode attributesContentType)
        {
            ATTRIBUTE_CONTENT_TYPE            = attributesContentType;
            GENERATE_AREA_MODE                = generateAreaMode;
            DESTINATION_PATH                  = destinationPath;
            TARGET_DATABASE_NAME              = targetDatabaseName;
            TARGET_DATABASE_CONNECTION_STRING = string.Format("Integrated Security=SSPI;Persist Security Info=False;Initial Catalog={0};Data Source=.", targetDatabaseName);

            TARGET_DATABASE_TABLES_INFORMATIONS = GetTargetDatabaseTableInformations();
        }
示例#2
0
        public string Create(
            string targetDbName,
            string targetTableName,
            string targetSchemaName,
            TableNameInfo targetTableNameInfo,
            string targetTableConnectionString,
            string entitiesNameSpaceName,
            string TableSchemaName,
            string tableSingleName,
            string tablePluralName,
            AttributesLanguageMode attributesLanguageMode)
        {
            this.AttributesLanguageMode = attributesLanguageMode;

            // گرفتن خصوصیات جدول جاری
            this.TargetTableProperties = TargetDatabaseDataReceiver.GetTargetTableProperties(targetDbName, targetTableName, targetTableConnectionString);

            // گرفتن ریلیشن های جدول جاری
            this.TargetTableRelations = TargetDatabaseDataReceiver.GetTargetTableRelations(targetTableName, targetTableConnectionString);

            // add using clause
            AppendUsingsAndClassName(entitiesNameSpaceName, TableSchemaName, tableSingleName, tablePluralName, "");

            //-----------------------------------------------------------------------------------------
            IPrimaryKeyNameStrategy pkNameStrategy = PrimaryKeyNameModeFactory.GetStrategy(EntitiesCodeGeneratorSettings.PrimaryKeyNameMode);
            string pkName = string.Empty;

            // تخصیص خصوصیت به جدول
            foreach (var targetTableProperty in this.TargetTableProperties)
            {
                pkName = pkNameStrategy.GetTablePrimaryKeyName(tableSingleName);
                AppendProperties(targetTableProperty, pkName);
            }

            AppendProjectNameSpacesUsings(targetSchemaName);

            if (EntitiesCodeGeneratorSettings.NavigatePropertyGenerateMode == NavigatePropertyGenerateMode.PutNavigateProperties)
            {
                AppendNavigationProperties(targetTableName);
            }

            this.NewEntityClassContent.Append("\n\t}\n}");

            string result = NewEntityClassContent.ToString();

            this.NewEntityClassContent = new StringBuilder(string.Empty);

            return(result);
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="targetDatabaseName"></param>
 /// <param name="destinationPath"></param>
 /// <param name="attributesContentType"></param>
 /// <param name="generateAreaMode"></param>
 public void Run(string targetDatabaseName, string destinationPath, AttributesLanguageMode attributesContentType, GenerateAreaMode generateAreaMode)
 {
     base.Run(targetDatabaseName, destinationPath, generateAreaMode, attributesContentType);
 }
示例#4
0
        /// <summary>
        /// متد اصلی اجرای جنریتور
        /// </summary>
        /// <param name="targetDatabaseName"></param>
        /// <param name="destinationPath"></param>
        /// <param name="generateAreaMode"></param>
        /// <param name="attributesContentType"></param>
        protected void Run(string targetDatabaseName, string destinationPath, GenerateAreaMode generateAreaMode, AttributesLanguageMode attributesContentType)
        {
            // تنظیم اطلاعات پایه
            GeneratorSettingsManager.SetGeneratorInformations(targetDatabaseName, destinationPath, generateAreaMode, attributesContentType);

            // ساخت دیتابیس جنریتور
            _baseGeneratorDatabaseCreator.CreateGeneratorDatabase();

            // تکمیل اسامی جداول دیتابیس جنریتور
            CompleteGeneratorDatabase();

            // ----- ساخت کدهای لایه های مختلف -----
            CreateFolders(LayerFolder.Entities);
            CreateEntitiesLayer();


            //CreateFolders(LayerFolder.Services);
            //CreateServicesLayer();
            //CreateFolders(LayerFolder.ViewModels);
            //CreateViewModelsLayer();
            //CreateFolders(LayerFolder.Web);
            //CreateWebLayer();
            //CreateFolders(LayerFolder.UnitTests);
            //CreateUnitTestsLayer();
            //CreateFolders(LayerFolder.IntegrationTests);
            //CreateIntegrationTestsLayer();
        }