public void Apply(ModelSpecification mvvmDefinition, File mvvmFile) { var project = mvvmFile.Project; if (!project.HasFolder(Views)) { project.AddFolder(factory.NewFolder(Views, project)); } foreach (var viewModel in mvvmDefinition.ViewModels) { var fileName = string.Format("{0}.xaml", viewModel.Name); var codeBehindFileName = string.Format("{0}.xaml.cs", viewModel.Name); var viewsFolder = project.GetSubFolder(Views); if (!viewsFolder.HasFile(fileName)) { var viewFile = factory.NewFile(fileName, viewsFolder); viewsFolder.AddFile(viewFile); codeGeneratorService.Generate(mvvmFile, viewFile, new CodeGeneratorArgs(mvvmDefinition, viewModel, viewCodeGenTemplate)); var viewCodeBehindFile = viewFile.NewCodeBehindFile(codeBehindFileName); codeGeneratorService.Generate(mvvmFile, viewCodeBehindFile, new CodeGeneratorArgs(mvvmDefinition, viewModel, viewCodeBehindCodeGenTemplate)); } } }
public void Apply(ModelSpecification viewModelSpecification, File mvvmFile) { var project = mvvmFile.Project as Project; if (!project.HasFolder(Controllers)) { project.AddFolder(factory.NewFolder(Controllers, project)); } var controllersFolder = project.GetSubFolder(Controllers); foreach (var viewModel in viewModelSpecification.ViewModels) { var fileName = string.Format("{0}Controller.cs", viewModel.Name); if (!controllersFolder.HasFile(fileName)) { controllersFolder.NewFile(fileName); var controllerFile = controllersFolder.GetFile(fileName); codeGeneratorService.Generate(mvvmFile, controllerFile, new CodeGeneratorArgs(viewModelSpecification, viewModel, codeGenTemplate)); } } }
public async Task <ActionResult> newELe([FromBody] EleDuplicateCreateDto input) { var entity = Mapper.Map <EleDuplicateInfo>(input); // 保存提交记录 if (!input.Id.HasValue) // 发起联单 { var user = await userManager.FindByNameAsync(Session.Username); var company = await context.Companys.Include(x => x.City).FirstAsync(x => x.Id == user.CompanyInfoId); entity.Code = await codeGeneratorService.Generate(CodeGeneratorType.EleDuplicate, company.City.Code); entity.GeneratedCompany = company; context.EleDuplicates.Add(entity); entity.TimeOfGeneratedSubmit = DateTime.Now; entity.State = Model.Enums.EleDuplicateState.Carring; entity.CeneratedOperatorSign = new SignatureInfo() { ImgBase64 = input.CeneratedOperatorSignBase64 }; await context.SaveChangesAsync(); } else { var exist = await context.EleDuplicates.FindAsync(input.Id); if (exist == null) { return(NotFound()); } context.Entry(exist).CurrentValues.SetValues(input); exist.TimeOfGeneratedSubmit = DateTime.Now; exist.State = Model.Enums.EleDuplicateState.Carring; if (exist.CeneratedOperatorSignId.HasValue) { var sign = await context.Signatures.FindAsync(exist.CeneratedOperatorSignId); context.Signatures.Remove(sign); } exist.CeneratedOperatorSign = new SignatureInfo() { ImgBase64 = input.CeneratedOperatorSignBase64 }; } await context.Records.AddAsync(new Model.Record.RecordInfo() { Event = EleDuplicateRecordTypes.GeneratedCompanySubmited.ToString(), OccurredTime = DateTime.Now, RelationshipId = entity.Id, Operator = Session.Username }); await context.SaveChangesAsync(); return(Ok(entity.Id)); }
public void Apply(ModelSpecification viewModelSpecification, File mvvmFile) { var project = mvvmFile.Project; var solution = project.Solution; var testProject = solution.Projects.Where(p => p.Name == string.Format("{0}.Tests", project.Name) || p.Name == string.Format("{0}Tests", project.Name)).FirstOrDefault(); if (testProject != null) { Folder folderInUnitTestProj = CreateFolderInUnitTestProject(mvvmFile, testProject); if (!folderInUnitTestProj.HasFolder("TestScenarios")) { folderInUnitTestProj.AddFolder(factory.NewFolder("TestScenarios", folderInUnitTestProj)); } var testScenariosFolder = folderInUnitTestProj.GetSubFolder("TestScenarios"); foreach (var viewModel in viewModelSpecification.ViewModels) { var testScenarioFileName = string.Format("{0}TestScenario.cs", viewModel.Name); var unitTestFileName = string.Format("{0}Tests.cs", viewModel.Name); if (!testScenariosFolder.HasFile(testScenarioFileName)) { var testScenarioFile = factory.NewFile(testScenarioFileName, testScenariosFolder); testScenariosFolder.AddFile(testScenarioFile); } codeGeneratorService.Generate(mvvmFile, testScenariosFolder.GetFile(testScenarioFileName), new CodeGeneratorArgs(viewModelSpecification, viewModel, testScenarioCodeGenTemplate)); //UnitTests if (!folderInUnitTestProj.HasFile(unitTestFileName)) { var unitTestFile = factory.NewFile(unitTestFileName, folderInUnitTestProj); folderInUnitTestProj.AddFile(unitTestFile); codeGeneratorService.Generate(mvvmFile, unitTestFile, new CodeGeneratorArgs(viewModelSpecification, viewModel, unitTestCodeGenTemplate)); } } } }
private void AddNewViewModelsToCodeBehind() { foreach (var viewModel in viewModelSpecification.ViewModels) { var fileName = string.Format("{0}.mvvm.cs", viewModel.Name); if (!mvvmFile.HasCodeBehindFile(fileName)) { mvvmFile.NewCodeBehindFile(fileName); } codeGeneratorService.Generate(mvvmFile, mvvmFile.GetCodeBehindFile(fileName), new CodeGeneratorArgs(viewModelSpecification, viewModel, codeGenTemplate)); } }
public void Apply(ModelSpecification mvvmDefinition, File mvvmFile) { var viewModelFolder = mvvmFile.Parent; foreach (var viewModel in mvvmDefinition.ViewModels) { var name = string.Format("{0}.cs", viewModel.Name); if (!viewModelFolder.HasFile(name)) { var newFile = viewModelFolder.NewFile(name); codeGeneratorService.Generate(mvvmFile, newFile, new CodeGeneratorArgs(mvvmDefinition, viewModel, codeGeneratorTemplate)); } } }