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));
        }
Exemple #2
0
 public PetImageTableModel MapAddRequestToTable(PetImageAddRequest request)
 {
     return(new PetImageTableModel
     {
         ImageUrl = request.ImageUrl,
         IsProfileImage = request.IsImageProfile
     });
 }
        public async Task <PetImage> Post(PetImageAddRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            return(await _petImageProvider.AddPetImageAsync(request)
                   .ConfigureAwait(false));
        }
Exemple #4
0
        public PetImage AddPetImage(string petCode, string imageUrl, bool isImageProfile)
        {
            var request = new PetImageAddRequest()
            {
                PetCode        = Guid.Parse(petCode),
                ImageUrl       = imageUrl,
                IsImageProfile = isImageProfile
            };

            var response = _findMyPetClient.JsonClient().Post(request);

            return(response);
        }