Exemplo n.º 1
0
        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);
            //}
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
 /* 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);
 }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
        public ActionResult CartSummary()
        {
            var cart = BookingCart.GetCart(this.HttpContext);

            ViewData["CartCount"] = cart.GetCount();

            return(PartialView("CartSummary"));
        }
Exemplo n.º 7
0
        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));
        }
Exemplo n.º 9
0
        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"));
        }
Exemplo n.º 10
0
        // 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));
        }
Exemplo n.º 11
0
        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);
        }
Exemplo n.º 12
0
        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);
        }
Exemplo n.º 13
0
        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));
            }
        }
Exemplo n.º 15
0
        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));
        }
Exemplo n.º 16
0
        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));
            }
        }