public ActionResult MarkAsDone(int id) { var logic = new SRLogic(); var markasdonemodel = new MarkAsDoneViewModel(); var result = GetLoggedInUser(new[] { Role.Cleaner, Role.Engineer, Role.HeadCleaner, Role.HeadEngineer }); if (result is ActionResult) { return(result as ActionResult); } var user = (User)result; if (user.Role == Role.HeadEngineer || user.Role == Role.Engineer) { var servicetomarkasdone = logic.GetRepairToEdit(id); markasdonemodel.RepairMarkAsDone = servicetomarkasdone; markasdonemodel.Serviceid = servicetomarkasdone.Id; } if (user.Role == Role.HeadCleaner || user.Role == Role.Cleaner) { var servicetomarkasdone = logic.GetCleaningToEdit(id); markasdonemodel.CleaningMarkAsDone = servicetomarkasdone; markasdonemodel.Serviceid = servicetomarkasdone.Id; } markasdonemodel.User = user; return(View(markasdonemodel)); }
public ActionResult MarkAsDone(MarkAsDoneViewModel viewmodel) { var result = GetLoggedInUser(new[] { Role.Cleaner, Role.Engineer, Role.HeadCleaner, Role.HeadEngineer }); if (result is ActionResult) { return(result as ActionResult); } var user = (User)result; if (user.Role == Role.HeadEngineer || user.Role == Role.Engineer) { var rlist = _repo.GetRepairFromId(viewmodel.Serviceid); var repairtofinish = rlist.ElementAt(0); _repo.SetTramStatusToIdle(viewmodel.TramIdtoCarryOver); repairtofinish.EndDate = DateTime.Now; repairtofinish.Solution = viewmodel.Solution; if (string.IsNullOrEmpty(viewmodel.Solution)) { viewmodel.Error = "Fill the text field and try again!"; viewmodel.User = user; viewmodel.RepairMarkAsDone = repairtofinish; return(View(viewmodel)); } _repo.EditService(repairtofinish); } if (user.Role == Role.HeadCleaner || user.Role == Role.Cleaner) { var clist = _repo.GetCleanFromId(viewmodel.Serviceid); var cleantofinish = clist.ElementAt(0); _repo.SetTramStatusToIdle(viewmodel.TramIdtoCarryOver); cleantofinish.EndDate = DateTime.Now; cleantofinish.Comments = viewmodel.Comment; if (string.IsNullOrEmpty(viewmodel.Comment)) { viewmodel.Error = "Fill the text field and try again!"; viewmodel.User = user; viewmodel.CleaningMarkAsDone = cleantofinish; return(View(viewmodel)); } _repo.EditService(cleantofinish); } return(RedirectToAction("Index")); }