public ActionResult EditRepair(int id) { var result = GetLoggedInUser(new[] { Role.Cleaner, Role.Engineer, Role.HeadCleaner, Role.HeadEngineer }); if (result is ActionResult) { return(result as ActionResult); } var user = (User)result; var _logic = new SRLogic(Role.Engineer) { User = user }; var viewmodel = new EditRepairViewModel(); if (user.Role != Role.HeadEngineer) { _logic.Error = "You do not have permission to do this!"; TempData["SRLogic"] = _logic; return(RedirectToAction("Index", "SR")); } viewmodel.RepairToChange = _logic.GetRepairToEdit(id); viewmodel.Id = viewmodel.RepairToChange.Id; viewmodel.AssignedWorkers = _logic.AssignedWorkers; return(View(viewmodel)); }
public ActionResult EditRepair(EditRepairViewModel viewmodel) { var logic = new SRLogic(); var listusers = new List <User>(); foreach (var user in viewmodel.AssignedWorkers) { if (user.Value) { var usertoinsert = _repo.GetUserFromName(user.Key); listusers.Add(usertoinsert); } } if (viewmodel.EndDate < viewmodel.StartDate) { viewmodel.EndDate = null; } var changedRepair = new Repair(viewmodel.Id, viewmodel.StartDate, viewmodel.EndDate, viewmodel.Size, viewmodel.Defect, viewmodel.Solution, listusers, viewmodel.TramID); try { _repo.EditService(changedRepair); } catch { viewmodel.Error = "Something went wrong with posting the ervice. Check if the date field is filled and if the tram number is valid!"; return(View(viewmodel)); } logic.Error = "Repair posted succesfully!"; //TempData["SRLogic"] = logic; return(RedirectToAction("Index", "SR")); }
public EditRepairViewModel GetEditedRepair(int id) { Repair repair = this.Context.Repairs.Find(id); var allEmployees = this.Context.Employees.ToList(); EditRepairViewModel viewModel = Mapper.Map <EditRepairViewModel>(repair); foreach (Employee employee in allEmployees) { EmployeeRepairViewModel employeeRepairView = Mapper.Map <EmployeeRepairViewModel>(employee); viewModel.Employees.Add(employeeRepairView); } return(viewModel); }
public ActionResult Edit(int id) { EditRepairViewModel viewModel = this.service.GetEditedRepair(id); return(View("~/Areas/Repairs/Views/Edit.cshtml", viewModel)); }