예제 #1
0
        public IHttpActionResult PostPet([FromBody] PetRM pet)
        {
            if (!ModelState.IsValid || pet == null)
            {
                return(BadRequest());
            }

            try
            {
                var owner = db.Owners.FirstOrDefault(o => o.idOwner == pet.OwnerId);
                if (owner == null)
                {
                    return(NotFound());
                }

                Pet newPet = MapPetFromRM(pet);
                db.Pets.InsertOnSubmit(newPet);
                db.SubmitChanges(System.Data.Linq.ConflictMode.FailOnFirstConflict);

                return(Ok(pet));
            }
            catch (Exception e)
            {
                return(InternalServerError(e));
            }
        }
예제 #2
0
        public IHttpActionResult UpdatePet([FromUri] int id, [FromBody] PetRM pet)
        {
            if (!ModelState.IsValid || pet == null)
            {
                return(BadRequest());
            }

            try
            {
                var petFound = db.Pets.FirstOrDefault(p => p.idPet == id);
                if (petFound == null)
                {
                    return(NotFound());
                }

                petFound.firstname = pet.Firstname;
                petFound.lastname  = pet.Lastname;
                petFound.breed     = pet.Breed;
                petFound.color     = pet.Color;
                petFound.birthday  = pet.Birthday;
                petFound.sex       = pet.Sex;

                db.SubmitChanges(System.Data.Linq.ConflictMode.FailOnFirstConflict);
                return(Ok(petFound));
            }
            catch (Exception e)
            {
                return(InternalServerError(e));
            }
        }
예제 #3
0
 private Pet MapPetFromRM(PetRM pet)
 {
     return(new Pet()
     {
         birthday = pet.Birthday,
         breed = pet.Breed,
         color = pet.Color,
         firstname = pet.Firstname,
         lastname = pet.Lastname,
         idOwner = pet.OwnerId,
         sex = pet.Sex
     });
 }
예제 #4
0
 public async Task <Pet> UpdatePet(int petId, PetRM pet)
 {
     return(await PutApiAsync <Pet>($"{Uris.UriPets}/{petId}", pet.ToJson()));
 }
예제 #5
0
 public async Task <Pet> PostPet(PetRM pet)
 {
     return(await PostApiAsync <Pet>(Uris.UriPets, pet.ToJson()));
 }