public async Task <RepairModel> UpdateRepairStatusAsync(UpdateRepairStatusRequest request, CancellationToken cancellationToken) { var validator = new IdValidator(); await validator.ValidateAndThrowAsync(request.RepairId, null, cancellationToken); await validator.ValidateAndThrowAsync(request.StatusId, null, cancellationToken); var repairToUpdate = await _repairRepository.GetByIdAsync(request.RepairId, cancellationToken); if (repairToUpdate == null) { throw new ServiceException(ErrorCodes.RepairWithGivenIdNotFound, $"Repair with provided id doesn't exist"); } repairToUpdate.Status = (EnumStatus)request.StatusId; var result = await _repairRepository.UpdateAsync(cancellationToken, repairToUpdate); return(_mapper.Map <RepairModel>(result)); }
public async Task <IActionResult> UpdateRepairStatus([FromBody] UpdateRepairStatusRequest request, CancellationToken cancellationToken) { var result = await _repairService.UpdateRepairStatusAsync(request, cancellationToken); return(Ok(result)); }