Пример #1
0
        public async Task <IActionResult> Post([FromForm] CodegeneratorInputDto model)
        {
            var message = await _renderService.Generator(model);

            ViewBag.Message = message;
            return(View("Message"));
        }
Пример #2
0
        /// <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");
        }