private void GenerateVueApi(CodeGenerateDto dto)
        {
            var vueApiTemplate = new VueApiTemplate();

            vueApiTemplate.EntityNames = dto.Entities.Select(a => CodeGeneraterHelper.ToCamel(a.Name)).Where(a => !dto.ExceptApis.Contains(a, StringComparer.OrdinalIgnoreCase)).ToList();
            Directory.CreateDirectory($@"{dto.BasePath}\Web\ClientApp\src\api");
            System.IO.File.WriteAllText($@"{dto.BasePath}\Web\ClientApp\src\api\basic.js", vueApiTemplate.TransformText());
        }
        private void GenerateVueRouter(CodeGenerateDto dto)
        {
            var vueRouterTemplate = new VueRouterTemplate();

            vueRouterTemplate.VueRouteModels = dto.Entities.Select(a => new VueRouteModel {
                Name = CodeGeneraterHelper.ToCamel(a.Name), Comment = a.Comment
            }).Where(a => !dto.ExceptApis.Contains(a.Name, StringComparer.OrdinalIgnoreCase)).ToList();
            Directory.CreateDirectory($@"{dto.BasePath}\Web\ClientApp\src\router");
            System.IO.File.WriteAllText($@"{dto.BasePath}\Web\ClientApp\src\router\basicRouters.js", vueRouterTemplate.TransformText());
        }
        public void GeneraterByPdm(CodeGenerateConfigForPdm cfg)
        {
            if (cfg.PdmFilePath.HasNotValue())
            {
                throw new BusinessException("请转入代码生成的pdm路径(绝对或是相对路径)");
            }
            var configDto = CodeGeneraterHelper.GenerateDtoFromPdm(cfg, out List <string> errors);

            if (errors.Count > 0)
            {
                throw new BusinessException(string.Join(",", errors));
            }
            Generater(configDto);
        }
        public void Generater(string codeGeneraterConfigFile)
        {
            if (codeGeneraterConfigFile.HasNotValue())
            {
                throw new BusinessException("请转入代码生成的配置文件路径(绝对或是相对路径)");
            }
            var configValue = System.IO.File.ReadAllText($"{codeGeneraterConfigFile}");
            var configDto   = CodeGeneraterHelper.GenerateDtoFromConfig(configValue, out List <string> errors);

            if (errors.Count > 0)
            {
                throw new BusinessException(string.Join(",", errors));
            }
            Generater(configDto);
        }
        private void GenerateVue(CodeGenerateDto dto)
        {
            var vueModels = CodeGeneraterHelper.GenerateVueModelFromEntityModels(dto.Entities);

            foreach (var vue in vueModels)
            {
                if (dto.ExceptApis.Contains(vue.Name, StringComparer.OrdinalIgnoreCase))
                {
                    continue;
                }
                var vueTemplate = new VueTemplate();
                vueTemplate.Vue = vue;
                Directory.CreateDirectory($@"{dto.BasePath}\Web\ClientApp\src\views\basic");
                System.IO.File.WriteAllText($@"{dto.BasePath}\Web\ClientApp\src\views\basic\{vue.Name}.vue", vueTemplate.TransformText());
            }
        }