示例#1
0
        public async Task <FlightDto> UpdateEntityAsync(FlightDto entity)
        {
            if (!_repository.EntityExistsAsync(entity.Id).Result)
            {
                throw new NotFoundException();
            }

            var validationResult = await _validator.ValidateAsync(entity);

            if (!validationResult.IsValid)
            {
                throw new BadRequestException();
            }

            var mapedEntity = _mapper.Map <FlightDto, Flight>(entity);
            await _repository.UpdateEntityAsync(mapedEntity);

            if (!_repository.SaveAsync().Result)
            {
                throw new Exception("Updating Flight failed on save.");
            }

            return(_mapper.Map <Flight, FlightDto>(mapedEntity));
        }