コード例 #1
0
        public ActionResult Edit(int id, int petId)
        {
            TempData["ReturnUrl"] = Request.Headers["Referer"].ToString();

            PetVaccination model = _context.PetVaccination
                                   .Include(pv => pv.Vaccination)
                                   .Where(pv => pv.VaccinationId == id && pv.PetId == petId)
                                   .FirstOrDefault();

            if (model == null)
            {
                model             = new PetVaccination();
                model.Vaccination = _context.Vaccination.Where(v => v.VaccinationId == id).FirstOrDefault();
            }
            return(View(model));
        }
コード例 #2
0
        public IActionResult CheckIn(int id, IFormCollection form)
        {
            ViewBag.Vaccinations = _context.Vaccination.ToList();
            var checkedIds = form["VaccinationChecked"].ToList();

            List <PetVaccination> petVaccinations = new List <PetVaccination>();

            ViewBag.PetVaccinations = petVaccinations;

            bool allVaccines   = false;
            bool anyVacExpired = false;

            foreach (var vac in ViewBag.Vaccinations)
            {
                DateTime expiryDate;

                bool vaccinationChecked = checkedIds.Contains(vac.VaccinationId.ToString());

                if (DateTime.TryParse(form["Vaccination:" + vac.VaccinationId], out expiryDate))
                {
                    PetVaccination pv = new PetVaccination();
                    pv.VaccinationId      = vac.VaccinationId;
                    pv.ExpiryDate         = expiryDate;
                    pv.VaccinationChecked = vaccinationChecked;
                    petVaccinations.Add(pv);
                    if (expiryDate < DateTime.Today)
                    {
                        anyVacExpired = true;
                    }
                }
            }


            if (checkedIds.Count() >= 6)
            {
                allVaccines = true;
            }

            if (!allVaccines || anyVacExpired)
            {
                return(RedirectToAction("CheckIn", new { id = id }));
            }
            else
            {
                var petRes  = _context.PetReservation.Find(id);
                var res     = _context.Reservation.Find(petRes.ReservationId);
                var pet     = _context.Pet.Find(petRes.PetId);
                var petVacs = _context.PetVaccination.Where(x => x.PetId == pet.PetId).ToList();

                res.Status = 3;

                foreach (var singlePetVac in petVacs)
                {
                    singlePetVac.VaccinationChecked = true;
                    _context.PetVaccination.Update(singlePetVac);
                }
                _context.Reservation.Update(res);
                _context.Pet.Update(pet);
                _context.SaveChanges();
                return(RedirectToAction("Contract", new { id = id }));
            }
        }
コード例 #3
0
        public ActionResult Create(Pet model, int?ownerId, IFormCollection form)
        {
            int userId = Convert.ToInt32(User.Identity.Name);

            if (ownerId == null)
            {
                ownerId = userId;
            }

            if (!User.IsInRole("Clerk") && userId != ownerId)
            {
                return(Forbid());
            }

            ViewBag.Vaccinations = _context.Vaccination.ToList();
            ViewBag.Owner        = _context.Owner.Find(ownerId);

            model.OwnerId = ownerId.Value;

            var vaccinations = _context.Vaccination.ToList();

            ViewBag.Vaccinations = vaccinations;

            var checkedIds = form["VaccinationChecked"].ToList();

            List <PetVaccination> petVaccinations = new List <PetVaccination>();

            ViewBag.PetVaccinations = petVaccinations;


            foreach (var vac in vaccinations)
            {
                DateTime expiryDate;

                bool vaccinationChecked = checkedIds.Contains(vac.VaccinationId.ToString());

                if (DateTime.TryParse(form["Vaccination:" + vac.VaccinationId], out expiryDate))
                {
                    PetVaccination pv = new PetVaccination();
                    petVaccinations.Add(pv);
                    pv.VaccinationId      = vac.VaccinationId;
                    pv.ExpiryDate         = expiryDate;
                    pv.VaccinationChecked = vaccinationChecked;
                }
            }

            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            else
            {
                try {
                    var owner = _context.Owner.Where(o => o.OwnerId == ownerId);
                    model.OwnerId = ownerId.Value;

                    _context.Pet.Add(model);
                    _context.SaveChanges();

                    foreach (var pv in petVaccinations)
                    {
                        pv.PetId = model.PetId;
                        _context.PetVaccination.Add(pv);
                    }

                    _context.SaveChanges();

                    return(RedirectToAction(nameof(Index)));
                } catch {
                    return(View(model));
                }
            }
        }