public string Execute(DetailExecViewModel model) { string url = Url.Action("Index"); try { Finish(model.ExecutorId, CurrentUser.Id); @TempData["alert"] = "alert-success"; @TempData["message"] = "Исполнено"; return(url); } catch (Exception ex) { return(Url.Action("Details", new { id = model.ExecutorId, message = string.Format("Возникла непредвиденная ошибка: {0}. Трассировка: {1}", ex.Message, ex.StackTrace), alert = "alert-danger" })); } }
public ActionResult Details(Guid id, string burl = "", string message = "", string alert = "") { var department = dbContext.Departments.Find(CurrentUser.Department.Id); //Надо получить информацию о текущем ExecDep и Executor для текущего пользователя var execDetailsDTO = GetExecutor(id, CurrentUser.Id); if (execDetailsDTO == null) { var error = new ErrorViewModel { Error = "Докуент не найден", Massage = "Документ не найден. Скорее всего он удален или был произведен переход по устаревшей ссылке", Controller = "ProcessController", Action = "Details", Id = id.ToString() }; return(View("Error", error)); } @TempData["message"] = message; @TempData["alert"] = alert; var DetailExecVM = new DetailExecViewModel() { TuskId = execDetailsDTO.TuskId, ExecutorId = execDetailsDTO.Id, ExecutorStatusState = execDetailsDTO.StatusState, ExecutorStatusValue = execDetailsDTO.StatusValue, ExecDepId = id, PreviousUri = Request.UrlReferrer, }; DetailExecVM.DraftTusk = GetDraftTusk(DetailExecVM.TuskId); DetailExecVM.BackUrl = string.IsNullOrEmpty(burl) && Request.UrlReferrer == null ? Url.Action("Index", "Home") : string.IsNullOrEmpty(burl) ? Request.UrlReferrer.ToString() : burl; DetailExecVM.CurrentUrl = Request.Url; if (execDetailsDTO.DepartmetnId != department.Id) { return(View("Details", DetailExecVM)); } switch (execDetailsDTO.Type) { case ExecutorType.GroupManager: return(View("DetailsGroupManager", DetailExecVM)); case ExecutorType.AcceptApprove: return(View("DetailsChief", DetailExecVM)); case ExecutorType.IncomingFilter: return(View("DetailsIncomingFilter", DetailExecVM)); default: return(View("Details", DetailExecVM)); } }