Пример #1
0
        public async Task <Pet> CreatePetAsync(PetCreateRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            if (!request.OwnerId.HasValue && string.IsNullOrEmpty(request.OwnerMembershipId))
            {
                throw new ArgumentException("OwnerId and OwnerMembershipId are NULL");
            }

            var table = _petMapper.MapCreateRequestToTable(request);

            int newId = 0;

            if (request.OwnerId.HasValue)
            {
                newId = await _petDataAccess.AddPetAsync(request.OwnerId.Value, table)
                        .ConfigureAwait(false);
            }
            else if (!string.IsNullOrEmpty(request.OwnerMembershipId))
            {
                newId = await _petDataAccess.AddPetAsync(request.OwnerMembershipId, table)
                        .ConfigureAwait(false);
            }

            var newTable = await _petDataAccess.GetPetByIdAsync(newId)
                           .ConfigureAwait(false);

            return(_petMapper.MapPetTableToPet(newTable, false));
        }
Пример #2
0
        public async Task <Pet> Post(PetCreateRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            return(await _petProvider.CreatePetAsync(request)
                   .ConfigureAwait(false));
        }
Пример #3
0
 public PetTableModel MapCreateRequestToTable(PetCreateRequest request)
 {
     return(new PetTableModel
     {
         Name = request.Name,
         SexType = request.SexType,
         DateOfBirth = request.DateOfBirth,
         Status = (int)PetStatusEnum.Active,
         Description = request.Description
     });
 }
Пример #4
0
        public Pet AddPet(PetCreateRequest request)
        {
            var response = _findMyPetClient.JsonClient().Post(request);

            return(response);
        }