protected void btnRemovePet_Click(object sender, EventArgs e)
        {
            string petName;
            int    petNum;

            petNum  = Convert.ToInt32(ddlPetsInRes.SelectedValue);
            petName = ddlPetsInRes.SelectedItem.Text;

            ddlPetsInRes.Items.Remove(ddlPetsInRes.SelectedItem);
            ddlAddPet.Items.Add(new ListItem(petName, petNum.ToString()));

            // remove pet reservation
            PetReservation pres = new PetReservation();

            editedReservation.petReservationList.ForEach(delegate(PetReservation presloop)
            {
                if (presloop.pet.petNumber == petNum)
                {
                    pres = presloop;
                }
            });
            if (pres != null)
            {
                editedReservation.removePetReservation(pres);
            }
            else
            {
                //if it wasnt removed something went wrong
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('No pet reservation was removed..')", true);
            }

            Session["manageReservationObject"] = editedReservation;
            setDropdownsFunctionality();
            setSelectedPetRes(editedReservation);
        }
Esempio n. 2
0
        public ActionResult AddPetReservation(ReservationGroup reservationGroup, Guid skuCategoryId, Guid?addPetId)
        {
            // Step 1. Sync ReservationGroupId
            reservationGroup.PetReservationList.ForEach(x => x.ReservationGroupId = reservationGroup.Id);

            // Step 2. Get First
            PetReservation petReservation = reservationGroup.PetReservationList.FirstOrDefault();

            if (petReservation == null)
            {
                throw new InvalidOperationException("Pet Reservation Required");
            }

            // Step 3. Add Pet
            if (addPetId != null)
            {
                reservationGroup.PetReservationList.Add(new PetReservation()
                {
                    SkuCategoryId = skuCategoryId, PetId = addPetId.Value
                });
            }

            // Step 4. Add viewData
            this.ViewData["__Pet"] = new Paw.Services.Messages.Web.Pets.GetPet()
            {
                Id = petReservation.PetId, ProviderGroupId = (Guid)this.ViewData["__ProviderGroupId"]
            }.ExecuteItem();

            return(View(reservationGroup));
        }
Esempio n. 3
0
        private void testSerNewFill(List <Pet> _pets, Reservation _res, List <PetReservation> _petRes, List <Service> _ser)
        {
            List <PetReservation> petRes = _petRes.FindAll(rr => rr.reservationNum == _res.number);

            Service        sers          = new Service();
            List <Service> basicServices = sers.ListBasicService().FindAll(s => s.number != 1);

            int currPet = 0;

            _pets.ForEach(p => {
                PetReservation thisPetRes  = petRes.Find(pr => pr.petNum == p.number);
                List <Service> thisSerList = thisPetRes != null ? _ser.FindAll(prs => prs.petResNumber == thisPetRes.petResNum) : null;
                thisSerList = thisSerList != null ? thisSerList.Count < 2 ? null : thisSerList : null;
                switch (currPet)
                {
                case 0: {
                    pet1.Visible  = true;
                    pet1.PetName  = p.name;
                    pet1.Included = thisPetRes != null;
                    pet1.Walking  = thisSerList == null ? false : thisSerList.Any(s => s.number == 2);
                    pet1.Playtime = thisSerList == null ? false : thisSerList.Any(s => s.number == 5);
                }
                break;

                case 1: {
                    pet2.Visible  = true;
                    pet2.PetName  = p.name;
                    pet2.Included = thisPetRes != null;
                    pet2.Walking  = thisSerList == null ? false : thisSerList.Any(s => s.number == 2);
                    pet2.Playtime = thisSerList == null ? false : thisSerList.Any(s => s.number == 5);
                }
                break;

                case 2: {
                    pet3.Visible  = true;
                    pet3.PetName  = p.name;
                    pet3.Included = thisPetRes != null;
                    pet3.Walking  = thisSerList == null ? false : thisSerList.Any(s => s.number == 2);
                    pet3.Playtime = thisSerList == null ? false : thisSerList.Any(s => s.number == 5);
                }
                break;

                case 3: {
                    pet4.Visible  = true;
                    pet4.PetName  = p.name;
                    pet4.Included = thisPetRes != null;
                    pet4.Walking  = thisSerList == null ? false : thisSerList.Any(s => s.number == 2);
                    pet4.Playtime = thisSerList == null ? false : thisSerList.Any(s => s.number == 5);
                }
                break;
                }
                currPet++;
            });
        }
Esempio n. 4
0
        protected void btnDeleteReservation_Click(object sender, EventArgs e)
        {
            Reservation    res       = new Reservation();
            PetReservation petRes    = new PetReservation();
            int            resNumber = Convert.ToInt16(Session["RESERVATION_NUMBER"]);

            int succ = res.CancelReservation(resNumber);

            if (succ > 0)
            {
                Response.Redirect("~/Home.aspx");
            }
        }
Esempio n. 5
0
        public int ExecuteNonQuery()
        {
            using (DataContext context = DataContext.CreateForMessage(this))
            {
                MessageExtensions.ExecuteNonQuery(this, context);

                foreach (Guid petId in this.PetList)
                {
                    PetReservation petReservation = new PetReservation()
                    {
                        ReservationId = this.Id, PetId = petId, ProviderId = this.ProviderId
                    };
                    context.PetReservationSet.Add(petReservation);
                }

                return(context.SaveChanges());
            }
        }
Esempio n. 6
0
        private void loadFullLists()
        {
            int resNum = Convert.ToInt16(Session["RESERVATION_NUMBER"]);

            Reservation    res = new Reservation();
            Reservation    r   = res.ListReservations().Find(rr => rr.number == resNum);
            Pet            p   = new Pet();
            Service        ser = new Service();
            PetReservation pr  = new PetReservation();

            List <Pet> pets = p.listPets(Convert.ToInt16(r.ownerNumber));

            testSerNewFill(pets, r, pr.ListPetReservations(), ser.ListServices());

            txtStartDate.Text    = r.sDate.ToString("MMM/dd/yyyy");
            txtEndDate.Text      = r.eDate.ToString("MMM/dd/yyyy");
            ddlPickOwner.Visible = false;
        }
        protected void btnAddDog_Click(object sender, EventArgs e)
        {
            string petName;
            int    petNum;

            petNum  = Convert.ToInt32(ddlAddPet.SelectedValue);
            petName = ddlAddPet.SelectedItem.Text;

            ddlAddPet.Items.Remove(ddlAddPet.SelectedItem);
            ddlPetsInRes.Items.Add(new ListItem(petName, petNum.ToString()));

            // add pet reservation
            PetReservation pres = new PetReservation();

            pres.pet = Pet.getOnePet(petNum);
            editedReservation.addPetReservation(pres);
            Session["manageReservationObject"] = editedReservation;
            setDropdownsFunctionality();
        }
Esempio n. 8
0
        protected void btnUpdateReservation_Click(object sender, EventArgs e)
        {
            Pet            p  = new Pet();
            Service        s  = new Service();
            PetReservation pr = new PetReservation();
            Reservation    r  = new Reservation();

            int resNumber = Convert.ToInt16(Session["RESERVATION_NUMBER"]);

            Reservation curr = r.ListReservations().Find(rr => rr.number == resNumber);
            List <Pet>  pets = p.listPets((int)curr.ownerNumber);

            List <PetReservation> petRes = pr.ListPetReservations().FindAll(pr2 => pr2.reservationNum == resNumber);
            List <Service>        prs    = s.ListServices().FindAll(ss => petRes.Any(pr2 => pr2.petResNum == s.petResNumber));

            r.ChangeReservation(curr.number, DateTime.Parse(txtStartDate.Text), DateTime.Parse(txtEndDate.Text));

            int currPet = 0;

            for (int x = 0; x < pets.Count; x++)
            {
                PetReservation thisPetRes  = petRes.Find(pr2 => pr2.petNum == pets[x].number);
                List <Service> thisSerList = thisPetRes != null?s.ListServices().FindAll(prs2 => prs2.petResNumber == thisPetRes.petResNum) : null;

                switch (currPet)
                {
                case 0: {
                    Pet p2 = pets.Find(pp => pp.name == pet1.PetName && pp.ownerNumber == curr.ownerNumber);
                    if (p2 != null)
                    {
                        if (thisPetRes != null)
                        {
                            if (pet1.Included == false)
                            {
                                pr.RemovePetFromRes(p2.number, resNumber);
                            }
                            else
                            {
                                if (thisSerList.Any(q => q.number == 2))
                                {
                                    if (!pet1.Walking)
                                    {
                                        s.DeleteServ(thisPetRes.petResNum, 2);
                                    }
                                }
                                else
                                {
                                    if (pet1.Walking)
                                    {
                                        s.Add(thisPetRes.petResNum, 2);
                                    }
                                }

                                if (thisSerList.Any(q => q.number == 5))
                                {
                                    if (!pet1.Playtime)
                                    {
                                        s.DeleteServ(thisPetRes.petResNum, 5);
                                    }
                                }
                                else
                                {
                                    if (pet1.Playtime)
                                    {
                                        s.Add(thisPetRes.petResNum, 5);
                                    }
                                }
                            }
                        }
                        else
                        {
                            if (pet1.Included)
                            {
                                int petResNum = pr.Add(p2.number, resNumber)[1];
                                s.Add(petResNum, 1);
                                if (pet1.Walking)
                                {
                                    s.Add(petResNum, 2);
                                }
                                if (pet1.Playtime)
                                {
                                    s.Add(petResNum, 5);
                                }
                            }
                        }
                    }
                }
                break;

                case 1: {
                    Pet p2 = pets.Find(pp => pp.name == pet2.PetName && pp.ownerNumber == curr.ownerNumber);
                    if (p2 != null)
                    {
                        if (thisPetRes != null)
                        {
                            if (pet2.Included == false)
                            {
                                pr.RemovePetFromRes(p2.number, resNumber);
                            }
                            else
                            {
                                if (thisSerList.Any(q => q.number == 2))
                                {
                                    if (!pet2.Walking)
                                    {
                                        s.DeleteServ(thisPetRes.petResNum, 2);
                                    }
                                }
                                else
                                {
                                    if (pet2.Walking)
                                    {
                                        s.Add(thisPetRes.petResNum, 2);
                                    }
                                }

                                if (thisSerList.Any(q => q.number == 5))
                                {
                                    if (!pet2.Playtime)
                                    {
                                        s.DeleteServ(thisPetRes.petResNum, 5);
                                    }
                                }
                                else
                                {
                                    if (pet2.Playtime)
                                    {
                                        s.Add(thisPetRes.petResNum, 5);
                                    }
                                }
                            }
                        }
                        else
                        {
                            int petResNum = pr.Add(p2.number, resNumber)[1];
                            s.Add(petResNum, 1);
                            if (pet2.Walking)
                            {
                                s.Add(petResNum, 2);
                            }
                            if (pet2.Playtime)
                            {
                                s.Add(petResNum, 5);
                            }
                        }
                    }
                }
                break;

                case 2: {
                    Pet p2 = pets.Find(pp => pp.name == pet3.PetName && pp.ownerNumber == curr.ownerNumber);
                    if (p2 != null)
                    {
                        if (thisPetRes != null)
                        {
                            if (pet3.Included == false)
                            {
                                pr.RemovePetFromRes(p2.number, resNumber);
                            }
                            else
                            {
                                if (thisSerList.Any(q => q.number == 2))
                                {
                                    if (!pet3.Walking)
                                    {
                                        s.DeleteServ(thisPetRes.petResNum, 2);
                                    }
                                }
                                else
                                {
                                    if (pet3.Walking)
                                    {
                                        s.Add(thisPetRes.petResNum, 2);
                                    }
                                }

                                if (thisSerList.Any(q => q.number == 5))
                                {
                                    if (!pet3.Playtime)
                                    {
                                        s.DeleteServ(thisPetRes.petResNum, 5);
                                    }
                                }
                                else
                                {
                                    if (pet3.Playtime)
                                    {
                                        s.Add(thisPetRes.petResNum, 5);
                                    }
                                }
                            }
                        }
                        else
                        {
                            int petResNum = pr.Add(p2.number, resNumber)[1];
                            s.Add(petResNum, 1);
                            if (pet3.Walking)
                            {
                                s.Add(petResNum, 2);
                            }
                            if (pet3.Playtime)
                            {
                                s.Add(petResNum, 5);
                            }
                        }
                    }
                }
                break;

                case 3: {
                    Pet p2 = pets.Find(pp => pp.name == pet4.PetName && pp.ownerNumber == curr.ownerNumber);
                    if (p2 != null)
                    {
                        if (thisPetRes != null)
                        {
                            if (pet4.Included == false)
                            {
                                pr.RemovePetFromRes(p2.number, resNumber);
                            }
                            else
                            {
                                if (thisSerList.Any(q => q.number == 2))
                                {
                                    if (!pet4.Walking)
                                    {
                                        s.DeleteServ(thisPetRes.petResNum, 2);
                                    }
                                }
                                else
                                {
                                    if (pet4.Walking)
                                    {
                                        s.Add(thisPetRes.petResNum, 2);
                                    }
                                }

                                if (thisSerList.Any(q => q.number == 5))
                                {
                                    if (!pet4.Playtime)
                                    {
                                        s.DeleteServ(thisPetRes.petResNum, 5);
                                    }
                                }
                                else
                                {
                                    if (pet4.Playtime)
                                    {
                                        s.Add(thisPetRes.petResNum, 5);
                                    }
                                }
                            }
                        }
                        else
                        {
                            int petResNum = pr.Add(p2.number, resNumber)[1];
                            s.Add(petResNum, 1);
                            if (pet4.Walking)
                            {
                                s.Add(petResNum, 2);
                            }
                            if (pet4.Playtime)
                            {
                                s.Add(petResNum, 5);
                            }
                        }
                    }
                }
                break;
                }

                if (resNumber < 0)
                {
                    Errors.Add("The reservation could not be added.");
                    break;
                }
                currPet++;
            }
        }
Esempio n. 9
0
        protected void btnMakeReservation_Click(object sender, EventArgs e)
        {
            Pet            p    = new Pet();
            Service        s    = new Service();
            PetReservation pr   = new PetReservation();
            Reservation    r    = new Reservation();
            List <Pet>     pets = p.listPets(((userType)Session["UserType"] == userType.Clerk) ? Convert.ToInt16(Session["OWNER_NUMBER"]) : ((Owner)Session["OWNER"]).number);

            int resNumber = 0;
            int currPet   = 0;

            for (int x = 0; x < 4; x++)
            {
                switch (currPet)
                {
                case 0: {
                    Pet p2 = pets.Find(pp => pp.name == pet1.PetName && pp.ownerNumber == (((userType)Session["UserType"] == userType.Clerk) ? Convert.ToInt16(Session["OWNER_NUMBER"]) : ((Owner)Session["OWNER"]).number));
                    if (p2 != null)
                    {
                        resNumber = r.AddReservation(p2.number, DateTime.Parse(txtStartDate.Text), DateTime.Parse(txtEndDate.Text))[1];
                        if (resNumber < 0)
                        {
                            break;
                        }
                        int petResNum = pr.Add(p2.number, resNumber)[1];
                        s.Add(petResNum, 1);
                        if (pet1.Walking)
                        {
                            s.Add(petResNum, 2);
                        }
                        if (pet1.Playtime)
                        {
                            s.Add(petResNum, 5);
                        }
                    }
                }
                break;

                case 1: {
                    Pet p2 = pets.Find(pp => pp.name == pet2.PetName && pp.ownerNumber == (((userType)Session["UserType"] == userType.Clerk) ? Convert.ToInt16(Session["OWNER_NUMBER"]) : ((Owner)Session["OWNER"]).number));
                    try {
                        if (pet2.Included)
                        {
                            if (p2 != null)
                            {
                                int petResNum = pr.Add(p2.number, resNumber)[1];
                                s.Add(petResNum, 1);
                                if (pet2.Walking)
                                {
                                    s.Add(petResNum, 2);
                                }
                                if (pet2.Playtime)
                                {
                                    s.Add(petResNum, 5);
                                }
                            }
                        }
                    } catch {
                        Errors.Add("Your second pet could not be added to the reservation.");
                    }
                }
                break;

                case 2: {
                    Pet p2 = pets.Find(pp => pp.name == pet3.PetName && pp.ownerNumber == (((userType)Session["UserType"] == userType.Clerk) ? Convert.ToInt16(Session["OWNER_NUMBER"]) : ((Owner)Session["OWNER"]).number));
                    try {
                        if (pet3.Included)
                        {
                            if (p2 != null)
                            {
                                int petResNum = pr.Add(p2.number, resNumber)[1];
                                s.Add(petResNum, 1);
                                if (pet3.Walking)
                                {
                                    s.Add(petResNum, 2);
                                }
                                if (pet3.Playtime)
                                {
                                    s.Add(petResNum, 5);
                                }
                            }
                        }
                    } catch {
                        Errors.Add("Your third pet could not be added to the reservation.");
                    }
                }
                break;

                case 3: {
                    Pet p2 = pets.Find(pp => pp.name == pet4.PetName && pp.ownerNumber == (((userType)Session["UserType"] == userType.Clerk) ? Convert.ToInt16(Session["OWNER_NUMBER"]) : ((Owner)Session["OWNER"]).number));
                    try {
                        if (pet4.Included)
                        {
                            if (p2 != null)
                            {
                                int petResNum = pr.Add(p2.number, resNumber)[1];
                                s.Add(petResNum, 1);
                                if (pet4.Walking)
                                {
                                    s.Add(petResNum, 2);
                                }
                                if (pet4.Playtime)
                                {
                                    s.Add(petResNum, 5);
                                }
                            }
                        }
                    } catch {
                        Errors.Add("Your fourth pet could not be added to the reservation.");
                    }
                }
                break;
                }



                currPet++;
            }
            if (resNumber > 0)
            {
                Session["RESERVATION_NUMBER"] = resNumber;
                state = viewingMode.update;
            }
            else
            {
                Errors.Add("The reservation could not be added.");
                state = viewingMode.insert;
            }
        }
        public IActionResult Create(int?id, PRSMR model, int?Pet_1, int?Pet_2, int?Pet_3)
        {
            var                   ownerId         = (int)HttpContext.Session.GetInt32("ownerId");
            List <int?>           petIds          = new List <int?>();
            List <PetReservation> petReservations = new List <PetReservation>();

            if (Pet_1 != null)
            {
                petIds.Add(Pet_1);
            }
            if (Pet_2 != null)
            {
                petIds.Add(Pet_2);
            }
            if (Pet_3 != null)
            {
                petIds.Add(Pet_3);
            }
            ViewData["Pets"] = _context.Pet.Where(p => p.OwnerId == ownerId).ToList();


            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            else
            {
                var         transaction = _context.Database.BeginTransaction();
                var         resId       = _context.Reservation.Max(p => p.ReservationId) + 1;
                Reservation res         = model.PetReservation.Reservation;
                res.ReservationId = resId;
                _context.Reservation.Add(res);
                _context.Database.ExecuteSqlInterpolated($"USE HVK_ZZTop SET IDENTITY_INSERT dbo.Reservation ON;");
                _context.SaveChanges();
                _context.Database.ExecuteSqlInterpolated($"USE HVK_ZZTop SET IDENTITY_INSERT dbo.Reservation OFF;");
                foreach (int petid in petIds)
                {
                    PetReservation petRes = new PetReservation();

                    var petResId = _context.PetReservation.Max(p => p.PetReservationId) + 1;

                    petRes.ReservationId = resId;

                    petRes.PetId = petid;

                    petRes.PetReservationId = petResId;


                    petRes.PetReservationService.Add(new PetReservationService {
                        ServiceId = 1
                    });

                    if (model.Walk)
                    {
                        petRes.PetReservationService.Add(new PetReservationService {
                            ServiceId = 2
                        });
                    }

                    if (model.PlayTime)
                    {
                        petRes.PetReservationService.Add(new PetReservationService {
                            ServiceId = 5
                        });
                    }

                    if (model.Medication.Name != null)
                    {
                        var medId = _context.Medication.Max(p => p.MedicationId) + 1;
                        petRes.PetReservationService.Add(new PetReservationService {
                            ServiceId = 4
                        });
                        model.Medication.MedicationId = medId;
                        _context.Medication.Add(model.Medication);
                        _context.Database.ExecuteSqlInterpolated($"USE HVK_ZZTop SET IDENTITY_INSERT dbo.Medication ON;");
                        _context.SaveChanges();
                        _context.Database.ExecuteSqlInterpolated($"USE HVK_ZZTop SET IDENTITY_INSERT dbo.Medication OFF;");
                    }
                    _context.PetReservation.Add(petRes);
                    _context.Database.ExecuteSqlInterpolated($"USE HVK_ZZTop SET IDENTITY_INSERT dbo.PetReservation ON;");
                    _context.SaveChanges();
                    _context.Database.ExecuteSqlInterpolated($"USE HVK_ZZTop SET IDENTITY_INSERT dbo.PetReservation OFF");
                }
                transaction.Commit();

                return(RedirectToAction(nameof(Index)));
            }
        }