Example #1
0
        public async Task <ActionResult <PetVM> > PostPet(PetCoreVM petModel)
        {
            //Validate model
            if (petModel == null)
            {
                return(BadRequest("No data provided."));
            }

            if (!ModelState.IsValid)
            {
                return(ValidationProblem(ModelState));
            }

            var createdPet = await _petService
                             .Add(new tblPet
            {
                Name           = petModel.Name,
                FKAnimalTypeId = petModel.AnimalTypeId.Value,
                FKOwnerId      = petModel.OwnerId
            });

            var result = new PetVM
            {
                PetId        = createdPet.Id,
                Name         = createdPet.Name,
                AnimalTypeId = createdPet.FKAnimalTypeId,
                AnimalType   = createdPet.AnimalType.AnimalType,
                OwnerId      = createdPet.FKOwnerId,
                OwnersName   = createdPet.Owner?.FullName
            };

            return(Ok(result));
        }
Example #2
0
        public async Task <IActionResult> PutPet(Guid id, PetCoreVM petModel)
        {
            //Validate model
            if (petModel == null)
            {
                return(BadRequest("No data provided."));
            }
            if (id != petModel.PetId)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(ValidationProblem(ModelState));
            }

            try
            {
                await _petService.Update(new tblPet
                {
                    Id             = id,
                    Name           = petModel.Name,
                    FKAnimalTypeId = petModel.AnimalTypeId.Value,
                    FKOwnerId      = petModel.OwnerId
                });
            }
            catch (EntityNotFoundException)
            {
                return(NotFound());
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!(await PetExists(id)))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }