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