public async Task <IActionResult> Edit(int?id, [FromServices] IRepositoryHandler <Employees> repoEmployee) { if (id != null) { var task = await repositoryHandler.GetEntryByIDAsync(id.Value, u => u.Reporter.FullName.Equals(User.Identity.Name) || u.Assignee.FullName.Equals(User.Identity.Name) || User.IsInRole(EmployeeRole.Admin.ToString())); if (task is null) { return(new ContentResult { StatusCode = 403, Content = "Forbidden", ContentType = "text/html" }); } var employeesList = await repoEmployee.GetAllEntriesAsync(); ViewBag.IsAdmin = User.IsInRole(EmployeeRole.Admin.ToString()); ViewBag.IsReporter = (await repoEmployee.GetFirstEntityAsync(u => u.FullName.Equals(User.Identity.Name))).Id.Equals(task.ReporterId); var model = new TaskEditModelHybrid { Task = task, AssigneeList = new SelectList(employeesList, "Id", "FullName", task.AssigneeId), ReporterList = new SelectList(employeesList, "Id", "FullName", task.ReporterId), PriorityList = TaskEnum.PriorityList((int)task.Priority), StatusList = TaskEnum.StatusList((int)task.Status), }; return(View(model)); } return(RedirectToAction("Index")); }
public IActionResult Edit(TaskEditModelHybrid model) { if (ModelState.IsValid) { var task = mapper.Map <QTask>(model); repositoryHandler.Update(task); return(RedirectToAction("Detailed", "Tasks", model.TaskId)); } return(RedirectToAction("Index")); }