/* * private void FillPets( 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); * * Table petTable = new Table(); * TableRow allPetsRow = new TableRow(); * TableCell aPet = new TableCell(); * int z = 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; * * Table pet = new Table(); * * TableRow top = new TableRow(); * TableCell petName = new TableCell(); * Label lblPetName = new Label(); * lblPetName.Text = p.name; * lblPetName.CssClass = "petName"; * * CheckBox include = new CheckBox(); * include.ID = "chb" + p.number.ToString(); * include.AutoPostBack = false; * include.CausesValidation = false; * include.Checked = thisPetRes != null; * include.Text = "Include"; * * petName.Controls.Add(lblPetName); * petName.Controls.Add(include); * * top.Cells.Add(petName); * * TableRow bottom = new TableRow(); * bottom.ID = "btm" + p.number.ToString(); * * TableCell services = new TableCell(); * CheckBoxList cblServices = new CheckBoxList(); * cblServices.ID = "cbl" + p.number.ToString(); * * for ( int q = 0 ; q < basicServices.Count ; q++ ) { * cblServices.Items.Add(basicServices[q].desc); * cblServices.Items[0].Selected = false; * if ( thisSerList != null ) { * if ( thisSerList.Find(s => s.number == basicServices[q].number) != null ) { * cblServices.Items[0].Selected = true; * * } * } * } * * if ( isEmployee ) { * CheckBoxList cblVaccinations = new CheckBoxList(); * cblVaccinations.ID = "cblVacc" + p.number; * p.AddVaccinations(); * p.vaccinations.ForEach(v => { * cblVaccinations.Items.Add(new ListItem(v.name + v.expiryDate, v.number.ToString())); * }); * * services.Controls.Add(cblVaccinations); * } * * services.Controls.Add(cblServices); * * bottom.Cells.Add(services); * * pet.Rows.Add(top); * pet.Rows.Add(bottom); * * aPet.Controls.Add(pet); * allPetsRow.Cells.Add(aPet); * z++; * }); * * petTable.Rows.Add(allPetsRow); * allPets.Controls.Add(petTable); * } */ protected void ddlPickOwner_SelectedIndexChanged(object sender, EventArgs e) { pickOwner.Controls.Clear(); Session["OWNER_NUMBER"] = ddlPickOwner.SelectedValue; Pet p = new Pet(); testNewFill(p.listPets(Convert.ToInt16(Session["OWNER_NUMBER"]))); isChanged = true; Session["UserType"] = userType.Clerk; state = viewingMode.insert; }
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; } }
protected void Page_PreRender(object sender, EventArgs e) { Errors.ForEach(err => { errMsgs.Text += err + "<br />"; }); Errors = new List <String>(); isEmployee = (Session["UserType"] != null) ? (userType)Session["UserType"] == userType.Clerk : true; Reservation res = new Reservation(); if (Session["RESERVATION_NUMBER"] == null) { if (isEmployee ? Session["OWNER_NUMBER"] == null : Session["OWNER"] == null) { state = viewingMode.findOwner; loadOwners(); } else { if (isEmployee) { loadJustPets(); state = viewingMode.insert; } else { loadJustPets(); state = viewingMode.insert; } } } else { if (res.ListReservations().Any(r => r.number == Convert.ToInt16(Session["RESERVATION_NUMBER"]))) { loadFullLists(); state = viewingMode.update; } else { Response.Redirect("~/Home.aspx"); } } switch (state) { case viewingMode.findOwner: { pets.Visible = false; startEndInfo.Visible = false; btnCancelRes.Visible = false; btnMakeReservation.Visible = false; btnStartReservation.Visible = false; btnUpdateReservation.Visible = false; } break; case viewingMode.insert: { pickOwner.Visible = false; btnMakeReservation.Visible = true; btnUpdateReservation.Visible = false; pets.Visible = true; startEndInfo.Visible = true; } break; case viewingMode.update: { pickOwner.Visible = false; btnMakeReservation.Visible = false; btnUpdateReservation.Visible = true; pets.Visible = true; startEndInfo.Visible = true; btnCancelRes.Visible = true; } break; } }