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