public IActionResult ModifyProject(ModifyProjectViewModel vm) { if (!_auth.Authorise(RolesEnum.Admin, _context)) // Authenticate user { return(Redirect("~/Project/Dashboard")); } if (!_context.Projects.Any(p => p.BookingNumber == vm.BookingNumber)) // Check user exists { return(RedirectToAction("ManageProjects")); } // Get project from the database var project = _context.Projects.First(p => p.BookingNumber == vm.BookingNumber); // Fill out the fields project.ProjectName = vm.Title; project.ProjectDescription = vm.Body; // Save the databases _context.SaveChanges(); // Return the view return(RedirectToAction("ManageProjects")); }
public void SubmitProject(ModifyProjectViewModel viewModel) { string userId = User.FindFirst(ClaimTypes.NameIdentifier).Value; switch (viewModel.Mode) { case "add": case "edit": ProjectModel project = viewModel.ToProjectModel(); project.UserId = userId; if (viewModel.Mode == "add") { projectDao.AddProject(project); } else { projectDao.EditProject(viewModel.ToProjectModel()); } break; case "delete": projectDao.DeleteProjectById(viewModel.Id, userId); break; } }
// Action to modify a project public IActionResult ModifyProject(int id = -1) { if (!_auth.Authorise(RolesEnum.Admin, _context)) // Authenticate the user { return(Redirect("~/Project/Dashboard")); } if (!_context.Projects.Any(p => p.ProjectId == id)) // Check the project exists { return(RedirectToAction("ManageProjects")); } var vm = new ModifyProjectViewModel(); // Create a new view model var proj = _context.Projects.First(p => p.ProjectId == id); // Get the project record // Update the fields vm.Body = proj.ProjectDescription; vm.Title = proj.ProjectName; vm.BookingNumber = proj.BookingNumber; // Return the view return(View(vm)); }