public async Task <PetImage> AddPetImageAsync(PetImageAddRequest request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } if (!request.PetId.HasValue && !request.PetCode.HasValue) { throw new ArgumentException("PetId and PetCode are NULL"); } var table = _petImageMapper.MapAddRequestToTable(request); int newId = 0; if (request.PetId.HasValue) { newId = await _petImageDataAccess.AddPetImageAsync(request.PetId.Value, table) .ConfigureAwait(false); } else if (request.PetCode.HasValue) { newId = await _petImageDataAccess.AddPetImageAsync(request.PetCode.Value, table) .ConfigureAwait(false); } var newTable = await _petImageDataAccess.GetPetImageByIdAsync(newId) .ConfigureAwait(false); return(_petImageMapper.MapPetImageTableToPetImage(newTable)); }
private List <PetImage> GetPetImages(List <PetImageTableModel> petImages) { if (petImages != null && petImages.Any()) { petImages = petImages.OrderByDescending(x => x.CreatedOn).ToList(); return(petImages.ConvertAll(x => _petImageMapper.MapPetImageTableToPetImage(x)).ToList()); } else { return(new List <PetImage>()); } }