| | |
| | | using GenerateCode_WeiBen_WMS.DataBaseFactory; |
| | | using GenerateCode_WeiBen_WMS.Const; |
| | | using GenerateCode_WeiBen_WMS.Model; |
| | | using GenerateCode_WeiBen_WMS.Utility; |
| | | using System.Xml; |
| | | |
| | | namespace GenerateCode_GEBrilliantFactory |
| | | { |
| | |
| | | //ä¸é®çææææä»¶ |
| | | private void btn_CreateFile_Click(object sender, EventArgs e) |
| | | { |
| | | var genCodeRootPath = ""; |
| | | try |
| | | { |
| | | projectNamePrefix = this.tb_ProjectNamePrefix.Text; |
| | |
| | | string wcf_NameSpacePath = this.tb_WCF_NameSpacePath.Text.Trim();//WCF项ç®å½åç©ºé´ |
| | | string filePrefixName = this.tb_FileName.Text.Trim();//æä»¶åç¼å |
| | | string modulelogo = this.tb_Modulelogo.Text.Trim();//模åç®å |
| | | |
| | | |
| | | 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 == "") |
| | |
| | | |
| | | GenerateCodeParam param = new GenerateCodeParam() |
| | | { |
| | | DeleteAlertAttr = CommonHelper.FirstLowercase(_tb_DeleteAlertAttr), |
| | | Modulelogo = modulelogo, |
| | | ChinaComment = chinaComment, |
| | | PageMenuName = menuName, |
| | |
| | | EntityName = entityName, |
| | | EntityInstanceName = tableAlias, |
| | | LikeQueryAttrs = _tb_LikeQueryAttrs, |
| | | LikeQueryAttrsName = _tb_LikeQueryAttrsName |
| | | LikeQueryAttrsName = _tb_LikeQueryAttrsName, |
| | | ValidateRepeatName = this.tb_ValidateRepeatName.Text |
| | | }; |
| | | //å¤çæä¸¾ç±»å |
| | | List<EnumModel> enumList = new List<EnumModel>(); |
| | | 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) |
| | | { |
| | |
| | | //çæ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(); |
| | | #region å®ä½ç±» |
| | | var entityFilePath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".Application.Contracts\Dtos\" + tb_EntityName.Text.Trim(); |
| | | 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", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo); |
| | |
| | | #region AppSerivice |
| | | |
| | | //8ãçæ IAppService æä»¶ |
| | | var appServiceFilePath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".Application.Contracts\Services"; |
| | | 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", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo); |
| | | |
| | | //9ãçæ AppService æä»¶ |
| | | appServiceFilePath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".Application\Implements"; |
| | | 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", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo); |
| | | |
| | |
| | | #region Contorller |
| | | |
| | | //10ãçæ Contorller æä»¶ |
| | | var continerlllePath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @"\Controller"; |
| | | 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", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo); |
| | | |
| | |
| | | #region Domain |
| | | |
| | | //11ãçæ IRepository æä»¶ |
| | | var iRepositoryPath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".Domain\" + tb_EntityName.Text.Trim(); ; |
| | | 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", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo); |
| | | |
| | |
| | | #region EntityFrameworkCore |
| | | |
| | | //12ãçæ EfCoreRepository æä»¶ |
| | | var efCoreRepositoryPath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".EntityFrameworkCore\Repositories"; |
| | | 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", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo); |
| | | |
| | |
| | | #endregion |
| | | |
| | | #region Web |
| | | var webRootPath = tbPath.Text + @"\web\src\widgets\" + tb_EntityName.Text.Trim(); |
| | | var webRootPath = genCodeRootPath + @"\" + webFolerPath + @"\src\widgets\" + tb_EntityName.Text.Trim(); |
| | | |
| | | //13ãçæ Index æä»¶ |
| | | str_generate = Index_Generate.CreateText(param); |
| | |
| | | tf = TextHelper.Export2File_V2(webRootPath + @"\Views", $"{param.EntityName}.module.scss", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo); |
| | | |
| | | //22ãçæ Views\NameSpacePath_Config æä»¶ |
| | | str_generate = NameSpacePath_Config_Generate.CreateText(param); |
| | | tf = TextHelper.Export2File_V2(webRootPath + @"\Views\config", $"{param.EntityName}.module.scss", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo); |
| | | str_generate = EntityNameClass_json_Generate.CreateText(param); |
| | | tf = TextHelper.Export2File_V2(webRootPath + @"\Views\config", $"{param.EntityName}.json", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo); |
| | | |
| | | |
| | | //23ãçæ Views\NameSpacePath_Config æä»¶ |
| | |
| | | |
| | | #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", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo); |
| | | |
| | | //37ãçæ å¯¼åºæ¨¡æ¿Excelæä»¶ |
| | | List<ColumnModel> newColumnNameList = ListHelper.RemoveForPageTableListQueryAttributes(param.ColumnNameList); |
| | | ImportTemplteHelper.CreateImportTemplte(param, newColumnNameList, genCodeRootPath); |
| | | |
| | | |
| | | ////çæ OutputModel æä»¶ |
| | |
| | | } |
| | | //MessageBox.Show("çææä»¶æåï¼"); |
| | | //æåä¹åæå¼æä»¶å¤¹ |
| | | using (System.Diagnostics.Process.Start(this.tbPath.Text)) |
| | | using (System.Diagnostics.Process.Start(genCodeRootPath)) |
| | | { |
| | | |
| | | } |
| | |
| | | |
| | | 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; |
| | | } |
| | | } |
| | | } |
| | | |
| | | //ç»çé¢èµå¼ |
| | | 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.å é¤æç¤ºåæ®µ; |
| | | |
| | | } |
| | | catch (FileNotFoundException) |
| | | { |
| | | Console.WriteLine("é误: æä»¶æªæ¾å°!"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Console.WriteLine($"é误: åçäºä¸ä¸ªæªç¥é误: {ex.Message}"); |
| | | } |
| | | } |
| | | |
| | | private void button1_Click_1(object sender, EventArgs e) |
| | | { |
| | | this.tb_FilePath.Text = ""; |
| | | } |
| | | } |
| | | } |