| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- using VberAdmin.Models;
- using VberAdmin.Templates.V2_1_3_1;
- namespace VberAdmin.Generating;
- public class FileCreateV2_1_3_1 : FileCreateBase, IFileCreate
- {
- public async Task CreateAsync(TemplateViewModel viewModel)
- {
- await CreateDtoAsync(viewModel);
- await CreateApplicationAsync(viewModel);
- await CreateWebAsync(viewModel);
- }
- /// <summary>
- /// 生成DTO
- /// </summary>
- private async Task CreateDtoAsync(TemplateViewModel viewModel)
- {
- List<string> dtoFiles = new List<string>();
- if (viewModel.IsCreateDto)
- {
- if (await CreateT4Async<CreateDto>(viewModel, viewModel.CreateDtoName))
- dtoFiles.Add(viewModel.DtoFolder + viewModel.CreateDtoName);
- }
- if (viewModel.IsUpdateDto)
- {
- if (await CreateT4Async<UpdateDto>(viewModel, viewModel.UpdateDtoName))
- dtoFiles.Add(viewModel.DtoFolder + viewModel.UpdateDtoName);
- }
- if (viewModel.IsUpdateDto)
- {
- if (await CreateT4Async<ListDto>(viewModel, viewModel.ListDtoName))
- dtoFiles.Add(viewModel.DtoFolder + viewModel.ListDtoName);
- }
- if (dtoFiles.Any())
- await AddFilesToProjectAsync(viewModel.ApplicationName, dtoFiles);
- }
- /// <summary>
- /// 生成Application
- /// </summary>
- private async Task CreateApplicationAsync(TemplateViewModel viewModel)
- {
- List<string> applicationFileList = new List<string>();
- if (viewModel.IsApplicationService)
- {
- if (await CreateT4Async<Service>(viewModel, viewModel.ServiceName, 1))
- applicationFileList.Add(viewModel.ServiceFolder + viewModel.ServiceName);
- }
- if (viewModel.IsIApplicationService)
- {
- if (await CreateT4Async<ServiceInterface>(viewModel, viewModel.ServiceInterfaceName, 1))
- applicationFileList.Add(viewModel.ServiceFolder + viewModel.ServiceInterfaceName);
- }
- if (applicationFileList.Any())
- await AddFilesToProjectAsync(viewModel.ApplicationName, applicationFileList);
- }
- /// <summary>
- /// 生成Web
- /// </summary>
- private async Task CreateWebAsync(TemplateViewModel viewModel)
- {
- List<string> webFileList = new List<string>();
- if (viewModel.IsController)
- {
- if (await CreateT4Async<WebController>(viewModel, viewModel.ControllerName, 2))
- webFileList.Add(viewModel.ControllerFolder + viewModel.ControllerName);
- }
- if (viewModel.IsView)
- {
- if (await CreateT4Async<WebView>(viewModel, viewModel.ViewsName, 3))
- webFileList.Add(viewModel.ViewsFolder + viewModel.ViewsName);
- }
- if (webFileList.Any())
- await AddFilesToProjectAsync(viewModel.WebName, webFileList);
- }
- }
|