public async Task <IActionResult> PostAsync([FromBody] CreatePetResource createPetResource) { Pet pet = null; // Figure out which kind of pet to create. switch (createPetResource.Type) { case PetType.CAT: pet = mapper.Map <CreatePetResource, Cat>(createPetResource); break; case PetType.DOG: pet = mapper.Map <CreatePetResource, Dog>(createPetResource); break; } if (pet == null) { return(BadRequest()); } var result = await petService.CreateAsync(pet); if (result == null) { return(BadRequest()); } var resource = mapper.Map <Pet, CreatedPetResource>(pet); return(Created($"/api/v1/pets/{resource.Id}", resource)); }
public async Task <int> Post([FromUri] int ownerId, PetDto pet) { var id = await _petService.CreateAsync(ownerId, pet.Name); return(id); }