public async Task <IActionResult> Post([FromForm] CodegeneratorInputDto model) { var message = await _renderService.Generator(model); ViewBag.Message = message; return(View("Message")); }
/// <summary> /// 生成 /// </summary> /// <returns></returns> public async Task <string> Generator(CodegeneratorInputDto dto) { var tables = GetDbTable(); var root = Directory.GetCurrentDirectory(); //先求出最后出现这个字符的下标 int index = root.LastIndexOf('\\'); root = root.Substring(0, index + 1); var path = root + "Gen\\{0}\\"; foreach (var model in tables) { var name = model.TableName.Replace("Entity", ""); model.FullName = name.GetFirstLowercase(); model.ContractNamespace = $"{dto.IContractNamespace}.{name}"; model.DtoNamespace = $"{dto.DtoNamespace}.{name}.Dto"; model.EntityNamespace = dto.EntityNamespace; if (dto.Controller.NotNull()) { model.Namespace = dto.ControllerNamespace; await Generator(model, "Controller", path); } if (dto.IContract.NotNull()) { model.Namespace = $"{dto.IContractNamespace}.{name}"; await Generator(model, "IContract", path, true); } if (dto.Service.NotNull()) { model.Namespace = $"{dto.ServiceNamespace}.{name}"; await Generator(model, "Service", path); } if (dto.Dto.NotNull()) { model.Namespace = $"{dto.DtoNamespace}.{name}.Dto"; await Generator(model, "InputDto", path); await Generator(model, "OutputDto", path); } if (dto.EntityNamespace.NotNull()) { model.Namespace = $"{dto.EntityNamespace}"; await Generator(model, "Entity", path); } } return(root + "Gen"); }