public AssignPetResponse AssignPet(AssignPetRequest request, int id) { var volunteerCheck = _context.Volunteers.FirstOrDefault(p => p.IdVolunteer == id); var petCheck = _context.Pets.FirstOrDefault(p => p.IdPet == request.IdPet); if (volunteerCheck == null) { throw new VolunteerDoesnotExist(); } if (petCheck == null) { throw new PetDoesntExist(); } if (volunteerCheck.IdSupervisor != null) { throw new VolunteerHasSupervisor(); } var pet = new Volunteer_Pet() { IdVolunteer = id, IdPet = request.IdPet, DateAccepted = request.DateAccepted }; _context.Volunteer_Pets.Add(pet); _context.SaveChanges(); return(new AssignPetResponse() { IdVolunteer = id, IdPet = request.IdPet, DateAccepted = request.DateAccepted }); }
public void AssignPetToVolunteer(AssignPetRequest request) { if (_context.Volunteer.Where(v => v.IdVolunteer == request.IdVolunteer).Count() != 1) { throw new NoSuchVolunteerException("No volunteer with id " + request.IdVolunteer + " found"); } if (_context.Pet.Where(pet => pet.IdPet == request.IdPet).Count() != 1) { throw new NoSuchPetException("No pet with id " + request.IdVolunteer + " found"); } if (_context.Volunteer.Where(v => v.IdVolunteer == request.IdVolunteer && v.IdSupervisor == null).Count() != 1) { throw new VolunteerAlreadyHasSupervisporException("Volunteer with id " + request.IdVolunteer + " Already Has Supervispor"); } using (var trans = _context.Database.BeginTransaction()) { Volunteer_Pet volunteer_Pet = new Volunteer_Pet() { IdPet = request.IdPet, IdVolunteer = request.IdVolunteer, DateAccepted = DateTime.Now }; _context.Add <Volunteer_Pet>(volunteer_Pet); _context.SaveChanges(); trans.Commit(); } }
public IActionResult AssignPet(AssignPetRequest request, int id) { try { var response = _dbService.AssignPet(request, id); return(Created("Pet Assign", response)); } catch (PetDoesntExist ex) { return(NotFound(ex.Message)); } catch (VolunteerDoesnotExist ex1) { return(NotFound(ex1.Message)); } catch (VolunteerHasSupervisor ex2) { return(BadRequest(ex2.Message)); } }
public IActionResult AssignPetToVolunteer(int id, AssignPetRequest request) { request.IdVolunteer = id; try { _dbService.AssignPetToVolunteer(request); }catch (NoSuchVolunteerException ex) { return(BadRequest(ex.Message)); } catch (NoSuchPetException ex) { return(BadRequest(ex.Message)); } catch (VolunteerAlreadyHasSupervisporException ex) { return(BadRequest(ex.Message)); } return(Ok()); }