Example #1
0
        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(PetRequest request)
 {
     if (_volunteerDbContext.Volunteers.Where(v => v.IdVolunteer == request.idVolunteer).Count() != 1)
     {
         throw new Exception();
     }
     if (_volunteerDbContext.Pets.Where(pet => pet.IdPet == request.idPet).Count() != 1)
     {
         throw new Exception();
     }
     if (_volunteerDbContext.Volunteers.Where(v => v.IdVolunteer == request.idVolunteer && v.IdSupervisor == null).Count() !=
         1)
     {
         throw new Exception();
     }
     using (var trans = _volunteerDbContext.Database.BeginTransaction())
     {
         Volunteer_Pet volunteer_Pet = new Volunteer_Pet()
         {
             idPet        = request.idPet,
             idVolunteer  = request.idVolunteer,
             DateAccepted = DateTime.Now
         };
         _volunteerDbContext.Add <Volunteer_Pet>(volunteer_Pet);
         _volunteerDbContext.SaveChanges();
         trans.Commit();
     }
 }
Example #3
0
        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();
            }
        }
Example #4
0
        public IActionResult AssignPet(int id, PetRequest request)
        {
            if (request.IdPet == null)
            {
                throw new Exception("Pet ID is not provided!");
            }

            if (!_context.Pet.Any(e => e.IdPet == id))
            {
                throw new Exception("Such pet doesn't exist!");
            }

            if (!_context.Volunteer.Any(e => e.IdVolunteer == id))
            {
                throw new Exception("Such volunteer doesn't exist");
            }

            var volunteer = _context.Volunteer.Where(v => v.IdVolunteer == id).FirstOrDefault();

            if (volunteer.IdSupervisor.HasValue)
            {
                throw new Exception("The given volunteer has a supervisor!");
            }
            else
            {
                var volunteer_pet = new Volunteer_Pet()
                {
                    DateAccepted = DateTime.Now,
                    IdPet        = request.IdPet,
                    IdVolunteer  = id
                };
                _context.Volunteer_Pet.Add(volunteer_pet);
                _context.SaveChanges();

                var petResponse = new PetResponse()
                {
                    IdPet = request.IdPet
                };
                return(Ok(petResponse));
            }
        }