Example #1
0
        public ActionResult Unbook(int?bookerID)
        {
            if (bookerID != null)
            {
                //delete seats
                var seats = db.Seats.Where(s => s.BookedBy.ID == bookerID).ToList();

                if (seats.Count > 0)
                {
                    seats.ForEach(seat =>
                    {
                        if (seat.Status == SeatStatus.Booked)
                        {
                            seat.BookedAt   = null;
                            seat.Status     = SeatStatus.Available;
                            seat.SelectedAt = null;
                            seat.BookedBy   = null;
                        }
                    });

                    db.SaveChanges();
                }

                //delete booker
                var booker = db.Bookers.FirstOrDefault(b => b.ID == bookerID);
                db.Bookers.Remove(booker);

                db.SaveChanges();
            }

            return(RedirectToAction("BookerAndSeats"));
        }
        public ActionResult GetSeats()
        {
            var seats = db.Seats.ToList();

            var expiredSeats = seats.Where(
                s => (s.Status == SeatStatus.Selected) && (s.SelectedAt != null) && (DateTime.Now.Subtract(TimeSpan.FromSeconds(300)) > s.SelectedAt))
                               .ToList();

            expiredSeats.ForEach(s =>
            {
                s.SelectedAt = null;
                s.Status     = SeatStatus.Available;
            });

            db.SaveChanges();

            seats = db.Seats.ToList();

            return(Json(seats, JsonRequestBehavior.AllowGet));
        }
Example #3
0
        public IActionResult Index(Seat fromView)
        {
            Seat requestedSeat = _context.Seats.Single(b => b.SeatCode == fromView.SeatCode);

            if (requestedSeat != null)
            {
                if (!requestedSeat.Reserved)
                {
                    requestedSeat.OccName  = fromView.OccName;
                    requestedSeat.OccAuth  = fromView.OccAuth;
                    requestedSeat.Reserved = true;
                    _context.SaveChanges();
                }
            }
            return(View());
        }
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, SeatContext context)
        {
            context.Database.EnsureCreated();

            List <Seat> seats = new List <Seat>();
            Seat        g0    = new Seat();

            g0.SeatCode = "g0";
            g0.OccName  = "Barack Obama";
            g0.OccAuth  = "Groom";
            g0.Reserved = true;
            seats.Add(g0);
            Seat b0 = new Seat();

            b0.SeatCode = "b0";
            b0.OccName  = "Michelle Obama";
            b0.OccAuth  = "Bride";
            b0.Reserved = true;
            seats.Add(b0);
            Seat g1 = new Seat();

            g1.SeatCode = "g1";
            g1.OccName  = "";
            g1.OccAuth  = "";
            g1.Reserved = false;
            seats.Add(g1);
            Seat g2 = new Seat();

            g2.SeatCode = "g2";
            g2.OccName  = "";
            g2.OccAuth  = "";
            g2.Reserved = false;
            seats.Add(g2);
            Seat g3 = new Seat();

            g3.SeatCode = "g3";
            g3.OccName  = "";
            g3.OccAuth  = "";
            g3.Reserved = false;
            seats.Add(g3);
            Seat g4 = new Seat();

            g4.SeatCode = "g4";
            g4.OccName  = "";
            g4.OccAuth  = "";
            g4.Reserved = false;
            seats.Add(g4);
            Seat g5 = new Seat();

            g5.SeatCode = "g5";
            g5.OccName  = "";
            g5.OccAuth  = "";
            g5.Reserved = false;
            seats.Add(g5);
            Seat g6 = new Seat();

            g6.SeatCode = "g6";
            g6.OccName  = "";
            g6.OccAuth  = "";
            g6.Reserved = false;
            seats.Add(g6);
            Seat b1 = new Seat();

            b1.SeatCode = "b1";
            b1.OccName  = "";
            b1.OccAuth  = "";
            b1.Reserved = false;
            seats.Add(b1);
            Seat b2 = new Seat();

            b2.SeatCode = "b2";
            b2.OccName  = "";
            b2.OccAuth  = "";
            b2.Reserved = false;
            seats.Add(b2);
            Seat b3 = new Seat();

            b3.SeatCode = "b3";
            b3.OccName  = "";
            b3.OccAuth  = "";
            b3.Reserved = false;
            seats.Add(b3);
            Seat b4 = new Seat();

            b4.SeatCode = "b4";
            b4.OccName  = "";
            b4.OccAuth  = "";
            b4.Reserved = false;
            seats.Add(b4);
            Seat b5 = new Seat();

            b5.SeatCode = "b5";
            b5.OccName  = "";
            b5.OccAuth  = "";
            b5.Reserved = false;
            seats.Add(b5);
            Seat b6 = new Seat();

            b6.SeatCode = "b6";
            b6.OccName  = "";
            b6.OccAuth  = "";
            b6.Reserved = false;
            seats.Add(b6);

            if (!context.Seats.Any())
            {
                context.Seats.AddRange(seats);
                context.SaveChanges();
            }


            loggerFactory.AddConsole(Configuration.GetSection("Logging"));
            loggerFactory.AddDebug();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseBrowserLink();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }

            app.UseStaticFiles();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });
        }