public JsonObject ProcessRequest(HttpContext ctx) { //try //{ var seatDb = new SeatDB(); ctx.Response.ContentType = "application/json;charset=utf-8"; var json = new JsonObject(); var array = new JsonArray(); var member = new JsonObject(); //HttpSession session = request.getSession(); //int flightId = (int)session.getAttribute("flightId"); BookingCart bCart = new BookingCart(); int flightId = 1; //bCart = (BookingCart)session.getAttribute("cart"); //member.put("arrayData", seatDB.getSeatingLayout(flightId)); member.Add("arrayData", seatDb.GetUpdatedSeats(bCart, flightId).ToArray()); array.Add(member); json.Add("jsonArray", array.ToString()); return(json); //} //catch (IOException e) //{ // Console.WriteLine(e.Message); //} }
public ActionResult RemoveFromCart(int id) { // Remove the item from the cart var cart = BookingCart.GetCart(this.HttpContext); // Get the name of the album to display confirmation string packageName = storeDB.Cart .Single(item => item.PackageId == id).Tourpackage.HotelsId; // Remove from cart int itemCount = cart.RemoveFromCart(id); // Display the confirmation message var results = new BookingCartRemoveViewModel { Message = Server.HtmlEncode(packageName) + " has been removed from your shopping cart.", CartTotal = cart.GetTotal(), CartCount = cart.GetCount(), ItemCount = itemCount, DeleteId = id }; return(Json(results)); }
public bool[] GetUpdatedSeats(BookingCart bCart, int flightId) { existingSeatingLayoutDB = getExistingSeatsDB(flightId); reservedSeats = GetReservedSeats(bCart); try { arrays.Add(existingSeatingLayoutDB); arrays.Add(reservedSeats); seats = AddBooleanArrays(arrays); } catch (Exception e) { Console.WriteLine(e.Message); } //Console.WriteLine(existingSeatingLayoutDB.ToArray()); //for debugging //Console.WriteLine(reservedSeats.ToArray());//for debugging //Console.WriteLine(seats.ToArray());//for debugging //foreach (bool value in seats) //{ // Console.WriteLine(value); //} return(seats); }
/* NEEDS TO BE LOOKED AT / MADE TO WORK */ public bool[] GetReservedSeats(BookingCart bCart) { if (bCart.Equals(bCart.Persons)) { List <int> outboundSeatNumbers = GetOutboundBookedSeats(bCart); if (bCart.Persons.Count > 0) {//not needed?? bool[] outboundReservedSeats = new bool[NUMBER_OF_SEATS]; foreach (int outboundSeatNumber in outboundSeatNumbers) { outboundReservedSeats[outboundSeatNumber] = true; } reservedSeats = outboundReservedSeats; } } else if (bCart.Equals(bCart.ReturnPersons)) { List <int> returnSeatNumbers = GetReturnBookedSeats(bCart); if (bCart.ReturnPersons.Count > 0) {//not needed?? bool[] returnReservedSeats = new bool[NUMBER_OF_SEATS]; foreach (int returnSeatNumber in returnSeatNumbers) { returnReservedSeats[returnSeatNumber] = true; } reservedSeats = returnReservedSeats; } } return(reservedSeats); }
public IActionResult ChooseSeat(int seatNumber, int flightId) { var url = ""; String msg = ""; BookingCart bCart = new BookingCart(); if (personCount == 0) { if (seatDB.GetUpdatedSeats(bCart, flightId)[seatNumber] == false) { Seat seat = new Seat(); seat = reserveSeat(seatNumber, flightId); return(Ok(seatDB.GetUpdatedSeats(bCart, flightId))); } else { msg = "This seat is already booked. Please choose another seat."; } } else { msg = "You have already booked your seat for this passenger."; } SeatingLayout = seatDB.GetUpdatedSeats(bCart, flightId); return(Ok(SeatingLayout)); }
public ActionResult CartSummary() { var cart = BookingCart.GetCart(this.HttpContext); ViewData["CartCount"] = cart.GetCount(); return(PartialView("CartSummary")); }
private void MigrateShoppingCart(string UserName) { // Associate shopping cart items with logged-in user var cart = BookingCart.GetCart(this.HttpContext); cart.MigrateCart(UserName); Session[BookingCart.CartSessionKey] = UserName; }
public async Task <IActionResult> Details(int id) { var tourItemFromDb = await _db.TourItem.Include(m => m.Category).Include(m => m.SubCategory).Where(m => m.Id == id).FirstOrDefaultAsync(); BookingCart cartObj = new BookingCart() { TourItem = tourItemFromDb, TourItemId = tourItemFromDb.Id }; return(View(cartObj)); }
public ActionResult AddToCart(int id) { // Retrieve the album from the database var addedPackage = storeDB.TourPackage .Single(package => package.PackageId == id); // Add it to the shopping cart var cart = BookingCart.GetCart(this.HttpContext); cart.AddToCart(addedPackage); // Go back to the main store page for more shopping return(RedirectToAction("Index")); }
// GET: BookingCart public ActionResult Index() { var cart = BookingCart.GetCart(this.HttpContext); // Set up our ViewModel var viewModel = new BookingCartViewModel { CartItems = cart.GetCartItems(), CartTotal = cart.GetTotal() }; // Return the view return(View(viewModel)); }
public List <int> GetReturnBookedSeats(BookingCart bCart) { List <int> returnSeatNumbers = new List <int>(); for (int i = 0; i < bCart.Persons.Count; i++) { if (bCart.Persons[i].getSeat().SeatNo != null) { int returnSeatNumber = bCart.Persons[i].getSeat().SeatNo; returnSeatNumbers.Add(returnSeatNumber); } } return(returnSeatNumbers); }
public List <int> GetOutboundBookedSeats(BookingCart bCart) { List <int> outboundSeatNumbers = new List <int>(); for (int i = 0; i < bCart.Persons.Count; i++) { if (bCart.Persons[i].getSeat().SeatNo != null) { int outboundSeatNumber = bCart.Persons[i].getSeat().SeatNo; outboundSeatNumbers.Add(outboundSeatNumber); } } return(outboundSeatNumbers); }
public Seat reserveSeat(int seatNumber, int flightId) { BookingCart bCart = new BookingCart(); Seat seat = new Seat() { FlightId = flightId, SeatNo = seatNumber }; bool[] seats = seatDB.GetReservedSeats(bCart); seats[seatNumber] = true; seatDB.setSeats(seats); return(seat); }
public async Task <IActionResult> Details(BookingCart CartObject) { CartObject.Id = 0; if (ModelState.IsValid) { var claimsIdentity = (ClaimsIdentity)this.User.Identity; var claim = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier); CartObject.ApplicationUserId = claim.Value; BookingCart cartFromDb = await _db.BookingCart.Where(c => c.ApplicationUserId == CartObject.ApplicationUserId && c.TourItemId == CartObject.TourItemId).FirstOrDefaultAsync(); if (cartFromDb == null) { await _db.BookingCart.AddAsync(CartObject); } else { cartFromDb.People = cartFromDb.People + CartObject.People; } await _db.SaveChangesAsync(); var count = _db.BookingCart.Where(c => c.ApplicationUserId == CartObject.ApplicationUserId).ToList().Count(); HttpContext.Session.SetInt32(SD.ssBookingCartCount, count); return(RedirectToAction("Index")); } else { var tourItemFromDb = await _db.TourItem.Include(m => m.Category).Include(m => m.SubCategory).Where(m => m.Id == CartObject.TourItemId).FirstOrDefaultAsync(); BookingCart cartObj = new BookingCart() { TourItem = tourItemFromDb, TourItemId = tourItemFromDb.Id }; return(View(cartObj)); } }
public IActionResult GetSeatingLayout() { //var utilities = new Utilities(new HttpContextAccessor()); //var json = utilities.ProcessRequest(HttpContext); var seatDb = new SeatDB(); var json = new JsonObject(); var array = new JsonArray(); var member = new JsonObject(); //HttpSession session = request.getSession(); //int flightId = (int)session.getAttribute("flightId"); BookingCart bCart = new BookingCart(); int flightId = 1; //bCart = (BookingCart)session.getAttribute("cart"); //member.put("arrayData", seatDB.getSeatingLayout(flightId)); member.Add("arrayData", seatDb.GetUpdatedSeats(bCart, flightId).ToArray()); array.Add(member); json.Add("jsonArray", array.ToString()); return(Ok(json)); }
public ActionResult AddressAndPayment(FormCollection values) { var booking = new Booking(); TryUpdateModel(booking); try { if (string.Equals(values["PromoCode"], PromoCode, StringComparison.OrdinalIgnoreCase) == false) { return(View(booking)); } else { booking.CustomerName = User.Identity.Name; booking.BookingTime = DateTime.Now; //Save Order storeDB.Booking.Add(booking); storeDB.SaveChanges(); //Process the order var cart = BookingCart.GetCart(this.HttpContext); cart.CreateOrder(booking); return(RedirectToAction("Complete", new { id = booking.PackageId })); } } catch { //Invalid - redisplay with errors return(View(booking)); } }