Exemplo n.º 1
0
        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"));
        }
Exemplo n.º 2
0
 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"));
 }