schangxiang@126.com
2025-05-06 e0f7bd33a83f75a08c84727fde656a5ec470a344
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/MainForm.cs
@@ -31,9 +31,12 @@
            this.tb_WCF_NameSpacePath.Text = "HIAWms";//WCF项目命名空间 
            this.tb_FileName.Text = "Xiangzi";//文件前缀名
            this.tb_ChinaComment.Text = "物料基础信息表";//中文注释
            this.tb_MenuName.Text = "物料信息";//中文注释
            this.tb_PageMenuInstanceName.Text = "wmsMaterial";
            this.tb_CreatePerson.Text = "shaocx";//创建人
            this.tb_EntityName.Text = "WmsMaterials";//实体类名
            this.tb_EntityProName.Text = "_wmsMaterials";//实体类对象名
            this.tb_EntityName.Text = "WmsMaterial";//实体类名
            //this.tb_EntityProName.Text = "wmsMaterial";//实体类对象名
            this.tb_EnumList.Text = "PurchaseType|PurchaseTypeEnum|PurchaseTypeDesc,MaterialType|MaterialTypeEnum|MaterialTypeDesc,IsMainBranch|YesNoEnum|IsMainBranchDesc";
            this.cmb_DataSource.DropDownStyle = ComboBoxStyle.DropDownList;
            List<ListItem> itemList = CommonHelper.GetDataSources();
@@ -97,6 +100,26 @@
                string filePrefixName = this.tb_FileName.Text.Trim();//文件前缀名
                string modulelogo = this.tb_Modulelogo.Text.Trim();//模块简写
                string chinaComment = this.tb_ChinaComment.Text.Trim();//中文注释
                if (chinaComment == "")
                {
                    MessageBox.Show("请输入 è¡¨çš„中文注解!");
                    this.tb_ChinaComment.Focus();
                    return;
                }
                string menuName = this.tb_MenuName.Text.Trim();//中文注释
                if (menuName == "")
                {
                    MessageBox.Show("请输入 é¡µé¢èœå•名!");
                    this.tb_MenuName.Focus();
                    return;
                }
                string _tb_PageMenuInstanceName = this.tb_PageMenuInstanceName.Text.Trim();//中文注释
                if (_tb_PageMenuInstanceName == "")
                {
                    MessageBox.Show("请输入 é¡µé¢èœå•对象缩写!");
                    this.tb_PageMenuInstanceName.Focus();
                    return;
                }
                string createPerson = this.tb_CreatePerson.Text.Trim();//创建人
                string entityName = this.tb_EntityName.Text.Trim();//实体类名
                string tableAlias = this.tb_EntityProName.Text.Trim();//实体类对象名/表别名
@@ -159,10 +182,31 @@
                {
                    Modulelogo = modulelogo,
                    ChinaComment = chinaComment,
                    PageMenuName = menuName,
                    PageMenuInstanceName = _tb_PageMenuInstanceName,
                    NameSpacePath = wcf_NameSpacePath,
                    ColumnNameList = columnList,
                    EntityName = entityName
                    EntityName = entityName,
                    EntityInstanceName = tableAlias
                };
                //处理枚举类型
                List<EnumModel> enumList = new List<EnumModel>();
                var str_enumList = this.tb_EnumList.Text.Trim();
                if (str_enumList.IndexOf(',') > -1)
                {
                    var arr_enumList = str_enumList.Split(',');
                    foreach (var item in arr_enumList)
                    {
                        var arr_single = item.Split('|');
                        enumList.Add(new EnumModel()
                        {
                            EnumAttrName = arr_single[0],
                            EnumType = arr_single[1],
                            EnumTypeDesc = arr_single[2]
                        });
                    }
                }
                param.EnumList = enumList;
                //生成Model
                //CreateModelFile(columnList, tableName, filePrefixName, wcf_NameSpacePath, createPerson, chinaComment, entityName, modulelogo);
@@ -171,14 +215,107 @@
                #region å®žä½“ç±»
                var entityFilePath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".Application.Contracts\Dtos\" + tb_EntityName.Text.Trim();
                //1、生成 åˆ†é¡µæŸ¥è¯¢å®žä½“ æ–‡ä»¶
                str_generate = InputModel_Generate.CreateQueryModelLText(param);
                str_generate = InputQueryModel_Generate.CreateQueryModelLText(param);
                tf = TextHelper.Export2File_V2(entityFilePath, $"Get{param.EntityName}Input.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //2、生成 CreateDto æ–‡ä»¶
                str_generate = CreateDto_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(entityFilePath, $"{param.EntityName}CreateDto.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //3、生成 UpdateDto æ–‡ä»¶
                str_generate = UpdateDto_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(entityFilePath, $"{param.EntityName}UpdateDto.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //4、生成 CreateOrUpdateDtoBase æ–‡ä»¶
                str_generate = CreateOrUpdateDtoBase_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(entityFilePath, $"{param.EntityName}CreateOrUpdateDtoBase.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //5、生成 Dto æ–‡ä»¶
                str_generate = Dto_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(entityFilePath, $"{param.EntityName}Dto.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //6、生成 Export æ–‡ä»¶
                str_generate = ExportModel_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(entityFilePath, $"{param.EntityName}ExportModel.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //7、生成 Import æ–‡ä»¶
                str_generate = ImportModel_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(entityFilePath, $"{param.EntityName}sImportModel.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                #endregion
                #region AppSerivice
                //8、生成 IAppService æ–‡ä»¶
                var appServiceFilePath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".Application.Contracts\Services";
                str_generate = IAppService_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(appServiceFilePath, $"I{param.EntityName}AppService.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //9、生成 AppService æ–‡ä»¶
                appServiceFilePath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".Application\Implements";
                str_generate = AppService_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(appServiceFilePath, $"{param.EntityName}AppService.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                #endregion
                #region Contorller
                //10、生成 Contorller æ–‡ä»¶
                var continerlllePath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @"\Controller";
                str_generate = Controller_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(continerlllePath, $"{param.EntityName}Controller.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                #endregion
                #region Domain
                //11、生成 IRepository æ–‡ä»¶
                var iRepositoryPath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".Domain\" + tb_EntityName.Text.Trim(); ;
                str_generate = IRepository_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(iRepositoryPath, $"I{param.EntityName}Repository.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                #endregion
                #region EntityFrameworkCore
                //12、生成 EfCoreRepository æ–‡ä»¶
                var efCoreRepositoryPath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".EntityFrameworkCore\Repositories";
                str_generate = EfCoreRepository_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(efCoreRepositoryPath, $"EfCore{param.EntityName}Repository.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                #endregion
                #region Web
                var webRootPath = tbPath.Text + @"\web\src\widgets\" + tb_EntityName.Text.Trim();
                //13、生成 Index æ–‡ä»¶
                str_generate = Index_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath, $"index.ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //14、生成 enum æ–‡ä»¶
                str_generate = enum_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath, $"enum.ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //15、生成 Controllers\File æ–‡ä»¶
                str_generate = File_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath+ @"\Controllers", $"File.ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //16、生成 Controllers\EntityMode æ–‡ä»¶
                str_generate = EntityMode_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath + @"\Controllers", $"{tb_EntityName.Text.Trim()}.ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //17、生成 Controllers\EntityModeDrawer æ–‡ä»¶
                str_generate = EntityModeDrawer_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath + @"\Controllers", $"{tb_EntityName.Text.Trim()}Drawer.tsx", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                #endregion
                ////生成 OutputModel æ–‡ä»¶
@@ -345,7 +482,7 @@
        private void MainForm_Load(object sender, EventArgs e)
        {
            tb_EntityProName.Enabled = false;
            //tb_EntityProName.Enabled = false;
            tb_FileName.Enabled = false;
            tb_Modulelogo.Enabled = false;
            tb_WCF_NameSpacePath.Enabled = true;