Exemple #1
0
        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));
                }
            }
        }
Exemple #3
0
        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));
     }
 }
Exemple #6
0
        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));
                }
            }
        }