public async Task <ProjectReadViewModel> GetProjectReadVMAsync(int id) { try { Project project = await GetByIdAsync(id); if (project != null) { ProjectReadViewModel viewModel = new ProjectReadViewModel() { ProjectId = project.ProjectId, ProjectTitle = project.ProjectTitle, ProjectDescription = project.ProjectDescription, Active = project.Active, Complete = project.Complete, Open = project.Open, Deadline = project.Deadline, DateCreated = project.DateCreated }; if (project.FreelanceId != null && project.FreelanceId != "") { viewModel.Freelancer = await GetFreelancerAsync(project.FreelanceId); } if (project.ClientId != null && project.ClientId != "") { viewModel.Client = await GetClientAsync(project.ClientId); } return(viewModel); } else { throw new Exception("Kunne ikke finne et prosjekt med valgt id"); } } catch (Exception ex) { throw new Exception("Feil under nedlasting av prosjekt", ex); } }
public async Task <IActionResult> Read(int?id) { if (id == null) { return(NotFound("Bad parameter")); } try { ProjectReadViewModel project = await _repository.GetProjectReadVMAsync((int)id); if (project == null) { //TempData["error"] = "Kunne ikke finne valgt prosjekt"; return(RedirectToAction("Index", "Project")); } return(View(project)); } catch (Exception ex) { //TempData["error"] = string.Format("Oops, noe gikk galt under lasting av prosjekt"); return(RedirectToAction("Index", "Project")); } }
public void Setup() { _repository = new Mock <IProjectRepository>(); _fakeOpenAndActiveProjects = new List <Project> { new Project { ProjectTitle = "Tittel1", ProjectDescription = "Beskrivelse1", Active = true, Open = true, Complete = false }, new Project { ProjectTitle = "Tittel3", ProjectDescription = "Beskrivelse3", Active = true, Open = true, Complete = false } }; _fakeCompleteProjects = new List <Project> { new Project { ProjectTitle = "Tittel2", ProjectDescription = "Beskrivelse2", Active = false, Open = false, Complete = false }, new Project { ProjectTitle = "Tittel123", ProjectDescription = "Beskrivelse222222", Active = false, Open = false, Complete = false } }; _fakeActiveProjects = new List <Project> { _fakeOpenAndActiveProjects[0], _fakeOpenAndActiveProjects[1], new Project { ProjectTitle = "Tittel124563", ProjectDescription = "Beskrivelse2222221111", Active = true, Open = false, Complete = false }, new Project { ProjectTitle = "Tittel123456123", ProjectDescription = "Beskrivelse222222232323", Active = true, Open = false, Complete = false } }; _fakeProjects = new List <Project> { _fakeOpenAndActiveProjects[0], _fakeOpenAndActiveProjects[1], _fakeCompleteProjects[0], _fakeCompleteProjects[1], _fakeActiveProjects[2], _fakeActiveProjects[3] }; _fakeProjectList = new List <ProjectListViewModel> { // TODO: Utvides new ProjectListViewModel { ProjectTitle = "Tittel1", Active = true, Open = true, Complete = false }, new ProjectListViewModel { ProjectTitle = "Tittel3", Active = true, Open = true, Complete = false } }; _fakeProjectCreateVM = new ProjectCreateViewModel() { ProjectTitle = "Title", ProjectDescription = "Description", Active = true, Open = true, Deadline = DateTime.Now }; var fakeFreelancers = new List <FreelancerInfo> { new FreelancerInfo { FirstName = "Ola" }, new FreelancerInfo { FirstName = "Normann" } }; _fakeProjectUpdateVM = new ProjectUpdateViewModel { ProjectId = 1, ProjectTitle = "Title", ProjectDescription = "Description", Active = true, Open = true, Complete = false, Deadline = DateTime.Now, //Freelancers = fakeFreelancers }; _fakeProjectReadVM = new ProjectReadViewModel() { ProjectTitle = "Title", ProjectDescription = "Description", Active = true, Open = true, Complete = false, Deadline = DateTime.Now, DateCreated = DateTime.Now, Freelancer = fakeFreelancers[0], Client = new KlientInfo { CompanyName = "UiT Norges Arktiske Universitet" } }; }