public async Task <IActionResult> AssignTask(AvailableTechniciansForRepairTaskViewModel availableTechniciansForRepairTaskViewModel, int id) { if (ModelState.IsValid == false) { availableTechniciansForRepairTaskViewModel.AvailableTechnicinsName = this.technicianService .GetAllAvailableTechnicians() .GetAwaiter() .GetResult() .Select(technician => technician.UserName) .ToArray(); return(this.View(availableTechniciansForRepairTaskViewModel)); } RepairTask repairTask = this.repairTaskService.GetById(id); RepairTaskSimpleInfoViewModel repairTaskSimpleInfo = this.mapper.Map <RepairTaskSimpleInfoViewModel>(repairTask); this.partService.AllPartsForRepairTaskAreAvailable(repairTaskSimpleInfo); if (repairTaskSimpleInfo.CanBeAssigned == false || repairTask.Status != Models.Enums.Status.Pending) { TempData[StringConstants.TempDataKeyHoldingGenericErrorsForRepairTaskController] = StringConstants.RepairTaskGenericAssignmentFailure; return(this.RedirectToAction(StringConstants.ActionNameIndex, StringConstants.HomeControllerName)); } await this.technicianService.AddTechniciansToRepairTaskAsync(availableTechniciansForRepairTaskViewModel.SelectedTechnicians, id); return(this.RedirectToAction(StringConstants.ActionNameRepairTaskDetails, new { id })); }
public IActionResult AssignTask(int id) { RepairTask repairTask = this.repairTaskService.GetById(id); RepairTaskSimpleInfoViewModel repairTaskSimpleInfo = this.mapper.Map <RepairTaskSimpleInfoViewModel>(repairTask); this.partService.AllPartsForRepairTaskAreAvailable(repairTaskSimpleInfo); if (repairTaskSimpleInfo.CanBeAssigned == false || repairTask.Status != Models.Enums.Status.Pending) { TempData[StringConstants.TempDataKeyHoldingGenericErrorsForRepairTaskController] = StringConstants.RepairTaskGenericAssignmentFailure; return(this.RedirectToAction(StringConstants.ActionNameIndex, StringConstants.HomeControllerName)); } AvailableTechniciansForRepairTaskViewModel availableTechnicians = new AvailableTechniciansForRepairTaskViewModel { TaskId = id, AvailableTechnicinsName = this.technicianService .GetAllAvailableTechnicians() .GetAwaiter() .GetResult() .Select(technician => technician.UserName) .ToArray() }; return(this.View(availableTechnicians)); }