public IActionResult FinishOrPass(int employeeId, int taskId, string buttonClicked, bool priority) { EmployeesFinishOrPassViewModel model = new EmployeesFinishOrPassViewModel(); model.LoadData(_unitOfWork, employeeId, taskId); model.ButtonClicked = buttonClicked; model.Priority = priority; return(View(model)); }
public IActionResult FinishOrPass(EmployeesFinishOrPassViewModel model) { if (!CheckButtons(_unitOfWork, model.Employee.Id, model.Task.Id, model)) { return(NotFound()); } if ((model.Finish == "Finish" && model.FinishConfirmed == true) || (model.Pass == "Pass" && model.PassConfirmed == true)) { return(RedirectToAction(nameof(Feed), new { employeeId = model.Employee.Id, buttonClicked = model.ButtonClicked, priority = model.Priority })); } else { return(View(model)); } }
public bool CheckButtons(IUnitOfWork uow, int employeeId, int taskId, EmployeesFinishOrPassViewModel model) { Task editTask = model.Task; EmployeeTask employeeTask = _unitOfWork.EmployeeTasks.GetByEmployeeIdAndTaskId(employeeId, taskId); if (model.Pass != null) { if (model.PassConfirmed == true) { if (model.RecipientEmployee != null) { model.RecipientEmployee = _unitOfWork.Employees.GetById(model.RecipientEmployee.Id); DashboardDisplay dashboardDisplay = _unitOfWork.DashboardDisplays.GetByEmployeeIdAndTaskId(employeeId, taskId); DeleteDashBoardTask(dashboardDisplay); employeeTask.PassedTask = model.RecipientEmployee; UpdateEmployeeTask(employeeTask); EmployeeTask recipientEmployeeTask = _unitOfWork.EmployeeTasks.GetByEmployeeIdAndTaskId(model.RecipientEmployee.Id, taskId); if (model.FixedTask == false) { if (recipientEmployeeTask == null) { recipientEmployeeTask = GenerateEmployeetask(model.RecipientEmployee.Id, taskId); recipientEmployeeTask.Picked = false; CreateEmployeeTask(recipientEmployeeTask); } else { recipientEmployeeTask.Picked = false; UpdateEmployeeTask(recipientEmployeeTask); } recipientEmployeeTask.Task.Status = Core.Enum.TaskStatusType.Open; } else { if (recipientEmployeeTask == null) { recipientEmployeeTask = GenerateEmployeetask(model.RecipientEmployee.Id, taskId); recipientEmployeeTask.Picked = true; CreateEmployeeTask(recipientEmployeeTask); } else { recipientEmployeeTask.Picked = true; UpdateEmployeeTask(recipientEmployeeTask); } DashboardDisplay recipientDashboardDisplay = GenerateDashboardTask(recipientEmployeeTask); CreateDashboardDisplay(recipientDashboardDisplay); } recipientEmployeeTask.Task.Information = model.Task.Information; recipientEmployeeTask.Task.Priority = model.Task.Priority; recipientEmployeeTask.Task.ValuedTime = model.Task.ValuedTime; UpdateTask(recipientEmployeeTask.Task); } else { return(false); } } else { model.PassClicked = true; model.LoadSelectList(uow, employeeId, taskId); } } else if (model.Finish != null) { if (model.FinishConfirmed == true) { DashboardDisplay dashboardDisplay = _unitOfWork.DashboardDisplays.GetByEmployeeIdAndTaskId(employeeId, taskId); DeleteDashBoardTask(dashboardDisplay); employeeTask.Task.Status = Core.Enum.TaskStatusType.Completed; employeeTask.Task.Enddate = DateTime.Now; UpdateTask(employeeTask.Task); } else { model.FinishClicked = true; } } return(true); }