public async Task <GetProjectDTO <ProjectEditViewModel> > CreateNewProjectAsync(string portfolio) { var context = ServiceContext.PortfolioContext; var config = await portfolioService.GetConfigAsync(portfolio); ServiceContext.AssertPermission(config.Portfolio); var reservation = await portfolioService.GetProjectReservationAsync(config); await context.SaveChangesAsync(); var newProject = new Project() { Reservation = reservation }; ProjectEditViewModel newProjectModel = ProjectModelFactory.GetProjectEditModel(newProject); var result = new GetProjectDTO <ProjectEditViewModel>() { Config = PortfolioMapper.GetProjectLabelConfigModel(config, PortfolioFieldFlags.Create), Options = await portfolioService.GetNewProjectOptionsAsync(config), Project = newProjectModel }; return(result); }
public void TestProjectPutModelConstruction() { // Arrange var values = new Dictionary <string, string> { { "name", ProjectName }, { "description", ProjectDescription }, { "data", DataName }, { "dataUri", DataUri }, { "video", VideoName }, { "videoUri", VideoUri }, { "public", Public } }; // Act ProjectPutModel result = ProjectModelFactory.CreatePutModel(values); // Assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(ProjectPutModel)); Assert.AreEqual(result.Name, ProjectName); Assert.AreEqual(result.Description, ProjectDescription); Assert.AreEqual(result.Data, DataName); Assert.AreEqual(result.DataUri, DataUri); Assert.AreEqual(result.Video, VideoName); Assert.AreEqual(result.VideoUri, VideoUri); Assert.AreEqual(result.Public, Public); }
public IActionResult Index() { // Non-generic tree Models.Project.ProjectModelFactory fac = new ProjectModelFactory(this.m_repo); Models.Project.ProjectModel pm = fac.Create(null); return(View(pm)); } // End Action Index
public IActionResult Get(int page = 0, int size = 25) { IEnumerable <Project> data = new ProjectModelFactory().LoadAll(this.Storage, page, size)?.Projects; int count = data.Count(); return(Ok(new { success = true, data, count, totalPage = ((int)count / size) + 1 })); }
public void NewProjectMap() { PortfolioMapper.Configure(); var newProject = new Project() { Reservation = new ProjectReservation() { ProjectId = "TEST123" } }; var model = ProjectModelFactory.GetProjectEditModel(newProject); Assert.IsNotNull(model); var minYear = DateTime.Now.Year - PortfolioSettings.ProjectDateMinYearOffset; var maxYear = DateTime.Now.Year + PortfolioSettings.ProjectDateMaxYearOffset; Assert.AreEqual(minYear, model.MinProjectYear); Assert.AreEqual(maxYear, model.MaxProjectYear); }
public EmployeeController() { _employeeModelFactory = new EmployeeModelFactory(); _projectModelFactory = new ProjectModelFactory(); }
private async Task <GetProjectDTO <T> > GetProject <T>(string projectId, bool includeOptions, bool includeHistory, bool includeLastUpdate, bool includeConfig, PortfolioFieldFlags flags = PortfolioFieldFlags.Read, Action <Portfolio> permissionCallback = null) where T : ProjectModel, new() { string portfolio; GetProjectDTO <T> result; var context = ServiceContext.PortfolioContext; var reservation = await context.ProjectReservations .SingleOrDefaultAsync(r => r.ProjectId == projectId); if (reservation == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } var query = (from p in context.Projects .IncludeProject() .IncludeLabelConfigs() // Need label configs so can map project data fields where p.ProjectReservation_Id == reservation.Id select p); if (includeHistory || includeLastUpdate) { query = query.IncludeUpdates(); } var project = await query.SingleOrDefaultAsync(); if (project == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } if (permissionCallback != null) { permissionCallback(project.Reservation.Portfolio); } else { ServiceContext.AssertPermission(project.Reservation.Portfolio); } portfolio = project.Reservation.Portfolio.ViewKey; // Build the result result = new GetProjectDTO <T>() { Project = ProjectModelFactory.GetProjectModel <T>(project, includeHistory, includeLastUpdate) }; if (includeConfig) { var userIsFSA = ServiceContext.UserHasFSAClaim(); result.Config = PortfolioMapper.GetProjectLabelConfigModel(project.Reservation.Portfolio.Configuration, flags: flags, fsaOnly: !userIsFSA); } if (includeOptions) { var config = await portfolioService.GetConfigAsync(portfolio); result.Options = await portfolioService.GetNewProjectOptionsAsync(config, result.Project as ProjectEditViewModel); } return(result); }
public ProjectController() { _projectModelFactory = new ProjectModelFactory(); }