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)); }
public async Task <Pet> Post(PetCreateRequest request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } return(await _petProvider.CreatePetAsync(request) .ConfigureAwait(false)); }
public PetTableModel MapCreateRequestToTable(PetCreateRequest request) { return(new PetTableModel { Name = request.Name, SexType = request.SexType, DateOfBirth = request.DateOfBirth, Status = (int)PetStatusEnum.Active, Description = request.Description }); }
public Pet AddPet(PetCreateRequest request) { var response = _findMyPetClient.JsonClient().Post(request); return(response); }