using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using System.IO; using Newtonsoft.Json; using System.Windows.Forms.VisualStyles; using GenerateCode_WeiBen_WMS.DataBaseFactory; using GenerateCode_WeiBen_WMS.Const; using GenerateCode_WeiBen_WMS.Model; using GenerateCode_WeiBen_WMS.Utility; using System.Xml; using System.Linq; using GenerateCode_GEBrilliantFactory.Model; namespace GenerateCode_GEBrilliantFactory { public partial class MainForm : Form { public static string projectNamePrefix = ""; public static string dataBaseName = ""; public static DataBaseEnum dataBaseEnum = DataBaseEnum.MySql; public MainForm() { InitializeComponent(); this.tbPath.Text = "D:\\C#AutoCreateCodeFile"; this.tb_Primary.Text = "id";//主键名 this.tb_PrimaryDesc.Text = "主键"; this.tb_OrderBy.Text = "CreationTime";//排序字段 this.tb_TableName.Text = "scms_wmsmaterials";//表名 this.tb_WCF_NameSpacePath.Text = "HIAWms";//WCF项目命名空间 this.tb_ChinaComment.Text = "物料基础信息表";//中文注释 this.tb_MenuName.Text = "物料信息";//中文注释 this.tb_PageMenuInstanceName.Text = "wmsMaterial"; this.tb_CreatePerson.Text = "shaocx";//创建人 this.tb_EntityName.Text = "WmsMaterial";//实体类名 this.tb_LikeQueryAttrs.Text = "'MaterialCode', 'MaterialName', 'Remark'"; this.tb_LikeQueryAttrsName.Text = "请输入物料编码/物料名称/备注"; //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 itemList = CommonHelper.GetDataSources(); foreach (var item in itemList) { this.cmb_DataSource.Items.Add(item); } this.cmb_DataSource.SelectedIndex = 0; this.cmb_DataBase.DropDownStyle = ComboBoxStyle.DropDownList; List itemList_Db = CommonHelper.GetDataBase(); foreach (var item in itemList_Db) { this.cmb_DataBase.Items.Add(item); } this.cmb_DataBase.SelectedIndex = 0; } /// /// 保存路径对话框 /// /// /// private void button1_Click(object sender, EventArgs e) { FolderBrowserDialog fbd = new FolderBrowserDialog(); if (DialogResult.OK == fbd.ShowDialog()) { tbPath.Text = fbd.SelectedPath; } } private void btnExit_Click(object sender, EventArgs e) { Application.Exit(); } //一键生成所有文件 private void btn_CreateFile_Click(object sender, EventArgs e) { var genCodeRootPath = ""; try { projectNamePrefix = ""; //if (projectNamePrefix == "") //{ // MessageBox.Show("请输入项目名前缀!"); // this.tb_ProjectNamePrefix.Focus(); // return; //} if (dataBaseName == "") { MessageBox.Show("请选择数据库!"); return; } string primaryKey = this.tb_Primary.Text.Trim();//主键名 string primaryKeyDesc = this.tb_PrimaryDesc.Text.Trim();//主键描述 string tableName = this.tb_TableName.Text.Trim();//表名 string wcf_NameSpacePath = this.tb_WCF_NameSpacePath.Text.Trim();//WCF项目命名空间 string _tb_OrderBy = this.tb_OrderBy.Text.Trim();//中文注释 if (_tb_OrderBy == "") { MessageBox.Show("请输入 排序!"); this.tb_OrderBy.Focus(); return; } string _tb_DeleteAlertAttr = this.tb_DeleteAlertAttr.Text.Trim();//中文注释 if (_tb_DeleteAlertAttr == "") { MessageBox.Show("请输入 删除提示字段!"); this.tb_DeleteAlertAttr.Focus(); return; } string _tb_ValidateRepeatName = this.tb_ValidateRepeatName.Text.Trim();//中文注释 if (_tb_ValidateRepeatName == "") { MessageBox.Show("请输入 重复性校验字段!"); this.tb_ValidateRepeatName.Focus(); return; } string _tb_LikeQueryAttrsName = this.tb_LikeQueryAttrsName.Text.Trim();//中文注释 if (_tb_LikeQueryAttrsName == "") { MessageBox.Show("请输入 模糊查询字段名!"); this.tb_LikeQueryAttrsName.Focus(); return; } string _tb_LikeQueryAttrs = this.tb_LikeQueryAttrs.Text.Trim();//中文注释 if (_tb_LikeQueryAttrs == "") { MessageBox.Show("请输入 模糊查询字段!"); this.tb_LikeQueryAttrs.Focus(); return; } 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();//实体类对象名/表别名 string orderByName = this.tb_OrderBy.Text.Trim();//排序字段名称 string _tb_VueRootFolerName = this.tb_VueRootFolerName.Text.Trim();//WCF路由前缀 string connStr = this.lbl_DataSource.Text.Trim();//数据库连接字符串 if (connStr == "") { MessageBox.Show("请选择数据库源!"); this.cmb_DataSource.Focus(); return; } if (tableName == "") { MessageBox.Show("请输入表名!"); this.tb_TableName.Focus(); return; } if (primaryKey == "") { MessageBox.Show("请输入主键名!"); this.tb_Primary.Focus(); return; } if (_tb_VueRootFolerName == "") { MessageBox.Show("请输入 前端根文件夹名称!"); this.tb_VueRootFolerName.Focus(); return; } if (wcf_NameSpacePath == "") { MessageBox.Show("请输入命名空间!"); this.tb_WCF_NameSpacePath.Focus(); return; } //读取Mysql var handler = DataBaseServiceFactory.GetHandle(dataBaseEnum); List columnList = handler.GetColumnList(tableName, connStr); if (columnList.Count == 0) { MessageBox.Show("没有获取到表下面的列集合!"); return; } //增加校验 if (columnList.Where(x => x.ColumnName.ToUpper() == SystemCommonVar.c_creator.ToUpper()).Count() == 0) { MessageBox.Show($"表中没有字段{SystemCommonVar.c_creator}!"); return; } string str_generate = ""; bool tf; GenerateCodeParam param = new GenerateCodeParam() { OrderBy = _tb_OrderBy, DeleteAlertAttr = CommonHelper.FirstLowercase(_tb_DeleteAlertAttr), Modulelogo = "", ChinaComment = chinaComment, PageMenuName = menuName, PageMenuInstanceName = _tb_PageMenuInstanceName, NameSpacePath = wcf_NameSpacePath, ColumnNameList = columnList, EntityName = entityName, EntityInstanceName = tableAlias, LikeQueryAttrs = _tb_LikeQueryAttrs, LikeQueryAttrsName = _tb_LikeQueryAttrsName, ValidateRepeatName = this.tb_ValidateRepeatName.Text }; //处理枚举类型 List enumList = new List(); var str_enumList = this.tb_EnumList.Text.Trim(); if (str_enumList.IndexOf(',') > -1) { str_enumList = str_enumList.Replace("\n", ""); str_enumList = str_enumList.Replace("\t", ""); str_enumList = str_enumList.Replace("\r", ""); 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] }); } } else { if (!string.IsNullOrEmpty(str_enumList)) { var arr_single = str_enumList.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); //CreateModelParamFile(columnList, tableName, filePrefixName, wcf_NameSpacePath, createPerson, chinaComment, entityName, modulelogo); genCodeRootPath = tbPath.Text + @"\" + tb_WCF_NameSpacePath.Text.Trim(); //var webFolerPath = (tb_WCF_NameSpacePath.Text.Trim() + "_Web").ToLower(); var webFolerPath = _tb_VueRootFolerName; #region 实体类 var entityFilePath = genCodeRootPath + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".Application.Contracts\Dtos\" + tb_EntityName.Text.Trim(); //1、生成 分页查询实体 文件 str_generate = InputQueryModel_Generate.CreateQueryModelLText(param); tf = TextHelper.Export2File_V2(entityFilePath, $"Get{param.EntityName}Input.cs", str_generate); //2、生成 CreateDto 文件 str_generate = CreateDto_Generate.CreateText(param); tf = TextHelper.Export2File_V2(entityFilePath, $"{param.EntityName}CreateDto.cs", str_generate); //3、生成 UpdateDto 文件 str_generate = UpdateDto_Generate.CreateText(param); tf = TextHelper.Export2File_V2(entityFilePath, $"{param.EntityName}UpdateDto.cs", str_generate); //4、生成 CreateOrUpdateDtoBase 文件 str_generate = CreateOrUpdateDtoBase_Generate.CreateText(param); tf = TextHelper.Export2File_V2(entityFilePath, $"{param.EntityName}CreateOrUpdateDtoBase.cs", str_generate); //5、生成 Dto 文件 str_generate = Dto_Generate.CreateText(param); tf = TextHelper.Export2File_V2(entityFilePath, $"{param.EntityName}Dto.cs", str_generate); //6、生成 Export 文件 str_generate = ExportModel_Generate.CreateText(param); tf = TextHelper.Export2File_V2(entityFilePath, $"{param.EntityName}ExportModel.cs", str_generate); //7、生成 Import 文件 str_generate = ImportModel_Generate.CreateText(param); tf = TextHelper.Export2File_V2(entityFilePath, $"{param.EntityName}sImportModel.cs", str_generate); #endregion #region AppSerivice //8、生成 IAppService 文件 var appServiceFilePath = genCodeRootPath + @"\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", str_generate); //9、生成 AppService 文件 appServiceFilePath = genCodeRootPath + @"\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", str_generate); #endregion #region Contorller //10、生成 Contorller 文件 var continerlllePath = genCodeRootPath + @"\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", str_generate); #endregion #region Domain //11、生成 IRepository 文件 var iRepositoryPath = genCodeRootPath + @"\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", str_generate); #endregion #region EntityFrameworkCore //12、生成 EfCoreRepository 文件 var efCoreRepositoryPath = genCodeRootPath + @"\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", str_generate); #endregion #region Web var webRootPath = genCodeRootPath + @"\" + webFolerPath + @"\src\widgets\" + tb_EntityName.Text.Trim(); //13、生成 Index 文件 str_generate = Index_Generate.CreateText(param); tf = TextHelper.Export2File_V2(webRootPath, $"index.ts", str_generate); //14、生成 enum 文件 str_generate = enum_Generate.CreateText(param); tf = TextHelper.Export2File_V2(webRootPath, $"enum.ts", str_generate); //15、生成 Controllers\File 文件 str_generate = File_Generate.CreateText(param); tf = TextHelper.Export2File_V2(webRootPath + @"\Controllers", $"File.ts", str_generate); //16、生成 Controllers\EntityMode 文件 str_generate = EntityMode_Generate.CreateText(param); tf = TextHelper.Export2File_V2(webRootPath + @"\Controllers", $"{tb_EntityName.Text.Trim()}.ts", str_generate); //17、生成 Controllers\EntityModeDrawer 文件 str_generate = EntityModeDrawer_Generate.CreateText(param); tf = TextHelper.Export2File_V2(webRootPath + @"\Controllers", $"{tb_EntityName.Text.Trim()}Drawer.tsx", str_generate); //18、生成 Controllers\EntityModeQueryDrawer 文件 str_generate = EntityModeQueryDrawer_Generate.CreateText(param); tf = TextHelper.Export2File_V2(webRootPath + @"\Controllers", $"{tb_EntityName.Text.Trim()}QueryDrawer.tsx", str_generate); //19、生成 type\type 文件 str_generate = type_Generate.CreateText(param); tf = TextHelper.Export2File_V2(webRootPath + @"\type", $"type.d.ts", str_generate); //20、生成 Views\NameSpacePath 文件 str_generate = NameSpacePath_Generate.CreateText(param); tf = TextHelper.Export2File_V2(webRootPath + @"\Views", $"{param.EntityName}.tsx", str_generate); //21、生成 Views\NameSpacePath_module 文件 str_generate = NameSpacePath_module_Generate.CreateText(param); tf = TextHelper.Export2File_V2(webRootPath + @"\Views", $"{param.EntityName}.module.scss", str_generate); //22、生成 Views\NameSpacePath_Config 文件 str_generate = EntityNameClass_json_Generate.CreateText(param); tf = TextHelper.Export2File_V2(webRootPath + @"\Views\config", $"{param.EntityName}.json", str_generate); //23、生成 Views\NameSpacePath_Config 文件 str_generate = EntityNameClass_module_Generate.CreateText(param); tf = TextHelper.Export2File_V2(webRootPath + @"\Views\Pages\" + param.EntityName, $"{param.EntityName}.module.scss", str_generate); //24、生成 Views\EntityNameClass模板 文件 str_generate = EntityNameClass_Generate.CreateText(param); tf = TextHelper.Export2File_V2(webRootPath + @"\Views\Pages\" + param.EntityName, $"{param.EntityName}.tsx", str_generate); //25、生成 Views\EntityNameClass_Config模板 文件 str_generate = EntityNameClass_Config_Generate.CreateText(param); tf = TextHelper.Export2File_V2(webRootPath + @"\Views\Pages\" + param.EntityName, $"Config.ts", str_generate); //26、生成 Views\EntityNameClassDrawer_module_Generate 文件 str_generate = EntityNameClassDrawer_module_Generate.CreateText(param); tf = TextHelper.Export2File_V2(webRootPath + @"\Views\Pages\Dialog\" + param.EntityName + "Drawer", param.EntityName + "Drawer" + $".module.scss", str_generate); //27、生成 Views\EntityNameClassDrawer_Generate 文件 str_generate = EntityNameClassDrawer_Generate.CreateText(param); tf = TextHelper.Export2File_V2(webRootPath + @"\Views\Pages\Dialog\" + param.EntityName + "Drawer", param.EntityName + "Drawer" + $".tsx", str_generate); //28、生成 Views\EntityNameClassDrawer_module_Generate 文件 str_generate = EntityNameClassQueryDrawer_module_Generate.CreateText(param); tf = TextHelper.Export2File_V2(webRootPath + @"\Views\Pages\Dialog\" + param.EntityName + "QueryDrawer", param.EntityName + "QueryDrawer" + $".module.scss", str_generate); //29、生成 Views\EntityNameClassDrawer_Generate 文件 str_generate = EntityNameClassQueryDrawer_Generate.CreateText(param); tf = TextHelper.Export2File_V2(webRootPath + @"\Views\Pages\Dialog\" + param.EntityName + "QueryDrawer", param.EntityName + "QueryDrawer" + $".tsx", str_generate); //30、生成 Views\EntityNameClassDrawer_Generate 文件 str_generate = Models_EntityNameClassQueryDrawer_Generate.CreateText(param); tf = TextHelper.Export2File_V2(webRootPath + @"\Models", param.EntityName + "QueryDrawer" + $".ts", str_generate); //31、生成 Views\EntityNameClassDrawer_Generate 文件 str_generate = Models_EntityNameClassDrawer_Generate.CreateText(param); tf = TextHelper.Export2File_V2(webRootPath + @"\Models", param.EntityName + "Drawer" + $".ts", str_generate); //32、生成 Views\EntityNameClassDrawer_Generate 文件 str_generate = Models_EntityNameClass_Generate.CreateText(param); tf = TextHelper.Export2File_V2(webRootPath + @"\Models", param.EntityName + $".ts", str_generate); //33、生成 Views\EntityNameClassDrawer_Generate 文件 str_generate = Models_Service_EntityNameClassQueryDrawer_Generate.CreateText(param); tf = TextHelper.Export2File_V2(webRootPath + @"\Models\Service", param.EntityName + "QueryDrawer" + $".ts", str_generate); //34、生成 Views\EntityNameClassDrawer_Generate 文件 str_generate = Models_Service_EntityNameClassDrawer_Generate.CreateText(param); tf = TextHelper.Export2File_V2(webRootPath + @"\Models\Service", param.EntityName + "Drawer" + $".ts", str_generate); //35、生成 Views\EntityNameClassDrawer_Generate 文件 str_generate = Models_Service_EntityNameClass_Generate.CreateText(param); tf = TextHelper.Export2File_V2(webRootPath + @"\Models\Service", param.EntityName + $".ts", str_generate); #endregion //36、生成 AutoMapperProfile 文件 var autoMapFilePath = genCodeRootPath + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".Application\MapperProfiles"; str_generate = AutoMapperProfile_Generate.CreateText(param); tf = TextHelper.Export2File_V2(autoMapFilePath, param.EntityName + $"AutoMapperProfile.cs", str_generate); //37、生成 导出模板Excel文件 List newColumnNameList = ListHelper.RemoveForPageTableListQueryAttributes(param.ColumnNameList); ImportTemplteHelper.CreateImportTemplte(param, newColumnNameList, genCodeRootPath); ////生成 OutputModel 文件 //str_generate = OutputModel_Generate.CreateQueryModelLText(modulelogo, chinaComment, columnList, entityName); //tf = TextHelper.Export2File(tbPath.Text, tableName, str_generate, FileType.OutputModel, filePrefixName, entityName, modulelogo); ////生成Controller文件 ////str_generate = Controller_Generate.CreateText(modulelogo, chinaComment, columnList, entityName, orderByName); ////tf = TextHelper.Export2File(tbPath.Text, tableName, str_generate, FileType.Controller, filePrefixName, entityName, modulelogo); ////生成Services接口文件 //str_generate = Services_Interface_Generate.CreateText(wcf_NameSpacePath, modulelogo, entityName, chinaComment, addEntityParam); //tf = TextHelper.Export2File(tbPath.Text, tableName, str_generate, FileType.WCF_InterFace, filePrefixName, entityName, modulelogo); ////生成Services接口实现文件 //str_generate = Services_InterfaceRealize_Generate.CreateText(wcf_NameSpacePath, modulelogo, // entityName, chinaComment, filePrefixName, primaryKey, tableAlias, addEntityParam, columnList, groupName); //tf = TextHelper.Export2File(tbPath.Text, tableName, str_generate, FileType.WCF_InterFaceRealize, filePrefixName, entityName, modulelogo); /* //生成存储过程文件 str_generate = Procedure_Generate.CreateProcText(tableName, tableAlias, createPerson, chinaComment, primaryKey, filePrefixName, orderByName, modulelogo, columnList); tf = TextHelper.Export2File(tbPath.Text, tableName, str_generate, FileType.Proc, filePrefixName, entityName, modulelogo); //生成DAL文件 str_generate = DAL_Generate.CreateDALText(filePrefixName, tableName, entityName, createPerson, chinaComment, primaryKey, primaryKeyDesc, modulelogo, tableAlias, columnList); tf = TextHelper.Export2File(tbPath.Text, tableName, str_generate, FileType.DAL, filePrefixName, entityName, modulelogo); //生成BLL文件 str_generate = BLL_Generate.CreateBLLText(filePrefixName, tableName, entityName, createPerson, chinaComment, primaryKey, primaryKeyDesc, modulelogo, tableAlias, addEntityParam, columnList); tf = TextHelper.Export2File(tbPath.Text, tableName, str_generate, FileType.BLL, filePrefixName, entityName, modulelogo); //生成AddModel文件 str_generate = AddModel_Generate.CreateAddModelLText(addEntityParam, chinaComment, columnList); tf = TextHelper.Export2File(tbPath.Text, tableName, str_generate, FileType.AddModelParam, filePrefixName, entityName, modulelogo); //*/ //VUE方法配置 //str_generate = VUE_FunConfig_Generate.CreateText(modulelogo, chinaComment, routePrefix, entityName); //tf = TextHelper.Export2File(tbPath.Text, tableName, str_generate, FileType.VUE_FunConfig, filePrefixName, entityName, modulelogo); //VUE文件 //str_generate = VUE_Generate.CreateText(tableAlias, modulelogo, primaryKey, columnList, chinaComment // , this.tb_templeteFileDownName.Text, this.tb_importExcelCategroy.Text); //tf = TextHelper.Export2File(tbPath.Text, tableName, str_generate, FileType.VUEFile, filePrefixName, entityName, modulelogo); //btn_InsertSql_Click(null, null); } catch (Exception ex) { MessageBox.Show("生成文件失败!" + ex.Message); return; } //MessageBox.Show("生成文件成功!"); //成功之后打开文件夹 using (System.Diagnostics.Process.Start(genCodeRootPath)) { } //*/ } #region 分类文件 /// /// 生成Model /// /// private void CreateModelFile(List strList, string _tableName, string filePrefixName, string nameSpacePath, string createPerson, string chinaComment, string entityName, string modulelogo) { bool tf = TextHelper.Export2File(tbPath.Text, _tableName, Model_Generate.GenerateModel(_tableName, strList, filePrefixName, nameSpacePath, createPerson, chinaComment, entityName), FileType.Model, filePrefixName, entityName, modulelogo); } /// /// 生成Model参数 /// /// private void CreateModelParamFile(List strList, string _tableName, string filePrefixName, string nameSpacePath, string createPerson, string chinaComment, string entityName, string modulelogo) { bool tf = TextHelper.Export2File(tbPath.Text, _tableName, Model_Generate.GenerateModelParam(_tableName, strList, filePrefixName, nameSpacePath, createPerson, chinaComment, entityName), FileType.Model, filePrefixName, entityName, modulelogo); } #endregion /// /// 文本改变事件 /// /// /// private void tb_TableName_TextChanged(object sender, EventArgs e) { string tableName = this.tb_TableName.Text.Trim();//表名 if (tableName != "") { var str = CommonHelper.TitleToUpper(tableName); var index = tableName.IndexOf('_'); if (index > -1) { var moule_str = tableName.Substring(index + 1, tableName.Length - index - 1); tb_PageMenuInstanceName.Text = this.tb_EntityProName.Text = CommonHelper.TitleToLower(moule_str); } else { tb_PageMenuInstanceName.Text = this.tb_EntityProName.Text = CommonHelper.TitleToLower(tableName); } } } private void btn_InsertSql_Click(object sender, EventArgs e) { string connStr = this.lbl_DataSource.Text.Trim();//数据库连接字符串 if (connStr == "") { MessageBox.Show("请选择数据库源!"); this.cmb_DataSource.Focus(); return; } var tableName = this.tb_TableName.Text.Trim(); if (tableName == string.Empty) { MessageBox.Show("请输入表名!"); return; } List columnList = StructStrHelper.GetColumnList(tableName, connStr); if (columnList.Count == 0) { MessageBox.Show("没有获取到表下面的列集合!"); return; } string chinaComment = this.tb_ChinaComment.Text.Trim();//中文注释 string createPerson = this.tb_CreatePerson.Text.Trim();//创建人 var str_generate = InsertSQL_Generate.CreateInsertSQLText(tableName, createPerson, chinaComment, columnList); bool tf = TextHelper.Export2File(tbPath.Text, tableName, str_generate, FileType.SQL_Insert, "", "", ""); //MessageBox.Show("生成文件成功!"); //成功之后打开文件夹 using (System.Diagnostics.Process.Start(this.tbPath.Text + "\\" + this.tb_TableName.Text)) { } } private void label13_Click(object sender, EventArgs e) { } private void MainForm_Load(object sender, EventArgs e) { } private void cmb_DataSource_SelectedIndexChanged(object sender, EventArgs e) { string connStr = (this.cmb_DataSource.SelectedItem as ListItem).Value; var name = (this.cmb_DataSource.SelectedItem as ListItem).Text; this.lbl_DataSource.Text = connStr; dataBaseName = name; if (name == "GSiemens_LES") { // this.tb_ProjectNamePrefix.Text = "LES"; } else if (name == "GSiemens_WIP") { // this.tb_ProjectNamePrefix.Text = "WIP"; } else if (name.Contains("AoSinWms")) { // this.tb_ProjectNamePrefix.Text = "AoSinWms"; } else { // this.tb_ProjectNamePrefix.Text = "Test"; } } private void ck_IsShowImport_CheckedChanged(object sender, EventArgs e) { //this.tb_templeteFileDownName.Enabled = false; //this.tb_importExcelCategroy.Enabled = false; //if (this.ck_IsShowImport.Checked) //{ // this.tb_templeteFileDownName.Enabled = true; // this.tb_importExcelCategroy.Enabled = true; //} } private void tb_EntityProName_TextChanged(object sender, EventArgs e) { } private void cmb_DataBase_SelectedIndexChanged(object sender, EventArgs e) { string connStr = (this.cmb_DataBase.SelectedItem as ListItem).Value; var name = (this.cmb_DataBase.SelectedItem as ListItem).Text; dataBaseEnum = (DataBaseEnum)Enum.Parse(typeof(DataBaseEnum), name); } private void btn_SelectFile_Click(object sender, EventArgs e) { OpenFileDialog fileDialog = new OpenFileDialog(); fileDialog.Multiselect = true; fileDialog.Title = "请选择文件"; fileDialog.Filter = "所有文件(*txt*)|*.txt*"; //设置要选择的文件的类型 if (fileDialog.ShowDialog() == DialogResult.OK) { string file = fileDialog.FileName;//返回文件的完整路径 this.tb_FilePath.Text = file; } } private void tb_FilePath_TextChanged(object sender, EventArgs e) { try { string filePath = this.tb_FilePath.Text; string[] lines = File.ReadAllLines(filePath); // 创建实体类对象 GenerateCodeConfigParam entity = new GenerateCodeConfigParam(); // 解析每一行内容并赋值给实体类属性 foreach (string line in lines) { if (line.Contains(":")) { string[] parts = line.Split(':'); string propertyName = parts[0].Trim('[', ']'); string propertyValue = parts[1].Trim(); // 根据属性名赋值 switch (propertyName) { case "表名": entity.表名 = propertyValue; break; case "实体类名": entity.实体类名 = propertyValue; break; case "实体类对象名": entity.实体类对象名 = propertyValue; break; case "页面菜单名": entity.页面菜单名 = propertyValue; break; case "页面菜单对象缩写": entity.页面菜单对象缩写 = propertyValue; break; case "表的中文注解": entity.表的中文注解 = propertyValue; break; case "重复性校验字段": entity.重复性校验字段 = propertyValue; break; case "删除提示字段": entity.删除提示字段 = propertyValue; break; case "模糊查询字段": entity.模糊查询字段 = propertyValue; break; case "模糊查询字段名": entity.模糊查询字段名 = propertyValue; break; case "项目命名空间": entity.项目命名空间 = propertyValue; break; case "枚举类型字段集合": entity.枚举类型字段集合 = propertyValue; break; case "前端根文件夹名称": entity.前端根文件夹名称 = propertyValue; break; case "排序": entity.排序 = propertyValue; break; } } } //给界面赋值 this.tb_TableName.Text = "";//表名 this.tb_WCF_NameSpacePath.Text = "";//表名 this.tb_ChinaComment.Text = "";//表名 this.tb_MenuName.Text = "";//表名 this.tb_PageMenuInstanceName.Text = "";//表名 this.tb_EntityName.Text = "";//表名 this.tb_LikeQueryAttrs.Text = "";//表名 this.tb_LikeQueryAttrsName.Text = "";//表名 this.tb_EntityProName.Text = "";//表名 this.tb_EnumList.Text = "";//表名 this.tb_ValidateRepeatName.Text = "";//表名 this.tb_DeleteAlertAttr.Text = "";//表名 this.tb_TableName.Text = entity.表名;//表名 this.tb_WCF_NameSpacePath.Text = entity.项目命名空间;//WCF项目命名空间 this.tb_ChinaComment.Text = entity.表的中文注解;//中文注释 this.tb_MenuName.Text = entity.页面菜单名; this.tb_PageMenuInstanceName.Text = entity.页面菜单对象缩写; this.tb_EntityName.Text = entity.实体类名;//实体类名 this.tb_LikeQueryAttrs.Text = entity.模糊查询字段; this.tb_LikeQueryAttrsName.Text = entity.模糊查询字段名; this.tb_EntityProName.Text = entity.实体类对象名;//实体类对象名 this.tb_EnumList.Text = entity.枚举类型字段集合; this.tb_ValidateRepeatName.Text = entity.重复性校验字段; this.tb_DeleteAlertAttr.Text = entity.删除提示字段; this.tb_VueRootFolerName.Text = entity.前端根文件夹名称; this.tb_OrderBy.Text = entity.排序; } catch (FileNotFoundException) { Console.WriteLine("错误: 文件未找到!"); } catch (Exception ex) { Console.WriteLine($"错误: 发生了一个未知错误: {ex.Message}"); } } private void button1_Click_1(object sender, EventArgs e) { this.tb_FilePath.Text = ""; } } }