Exemplo n.º 1
0
        public void PartTwo()
        {
            //< Looking for IDs that are missing.. but also have existing +1/-1 seats


            var inputLines = Helpers.FileHelper.ParseFile(InputFile);
            //< Parse each input line into a final 'SeatID'
            var seatIDs = inputLines.Select(x => BoardingPass.GetSeatID(x));
            //< Get a map of all existing ID -> SeatID pairs
            var seatMap = seatIDs.ToDictionary(x => x.ID, x => x);

            var possible = new List <SeatID>();

            for (int x = 0; x < BoardingPass.Rows.Count(); x++)
            {
                for (int y = 0; y < BoardingPass.Columns.Count(); y++)
                {
                    var seatID = new SeatID(x, y);

                    if (!seatMap.ContainsKey(seatID.ID))
                    {
                        int prevID = seatID.ID - 1;
                        int nextID = seatID.ID + 1;

                        if (seatMap.ContainsKey(prevID) && seatMap.ContainsKey(nextID))
                        {
                            possible.Add(seatID);
                        }
                    }
                }
            }

            Assert.IsTrue(possible.Single().ID == 504);
        }
        public ActionResult DeleteConfirmed(int id)
        {
            SeatID seatID = db.SeatIDs.Find(id);

            db.SeatIDs.Remove(seatID);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "SeatID1,TMID,TicketID")] SeatID seatID)
 {
     if (ModelState.IsValid)
     {
         db.Entry(seatID).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.TMID     = new SelectList(db.TheaterMovies, "TMID", "TMID", seatID.TMID);
     ViewBag.TicketID = new SelectList(db.Tickets, "TicketID", "UserID", seatID.TicketID);
     return(View(seatID));
 }
        // GET: SeatIDs/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SeatID seatID = db.SeatIDs.Find(id);

            if (seatID == null)
            {
                return(HttpNotFound());
            }
            return(View(seatID));
        }
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SeatID seatID = db.SeatIDs.Find(id);

            if (seatID == null)
            {
                return(HttpNotFound());
            }
            ViewBag.TMID     = new SelectList(db.TheaterMovies, "TMID", "TMID", seatID.TMID);
            ViewBag.TicketID = new SelectList(db.Tickets, "TicketID", "UserID", seatID.TicketID);
            return(View(seatID));
        }
        protected void bindSeatList()
        {
            DataTableConversion lsttodt = new DataTableConversion();
            ISeatService        service = new SeatService();
            var       lst = service.Lists().Select(x => new { Name = x.SeatNumber + " " + x.SeatSide, x.ID }).ToList();
            DataTable dt  = lsttodt.ToDataTable(lst);

            if (dt != null && dt.Rows.Count > 0)
            {
                SeatID.DataSource     = dt;
                SeatID.DataTextField  = "Name";
                SeatID.DataValueField = "ID";
                SeatID.DataBind();
            }
            else
            {
                SeatID.DataBind();
            }
        }
Exemplo n.º 7
0
        public ActionResult MakeReservation(int?numOfTickets, int?tmid)
        {
            if (numOfTickets < 1 || numOfTickets == null || tmid == null || tmid == 0)
            {
                var theaterMovies = db.TheaterMovies.Include(x => x.Movy).Include(x => x.Showtime).Include(x => x.Theater).Include(x => x.SeatIDs);

                TheaterMovy tm = db.TheaterMovies.Where(x => x.TMID == tmid).SingleOrDefault();
                Session["error"] = "you missed something. Double check you chose a time AND how many tickets you want";
                return(RedirectToAction("GetReservation", new { theaterID = (int)Session["selectedTheater"], movieID = (int)Session["selectedMovie"] }));
            }
            string userID;

            if (Request.IsAuthenticated)
            {
                userID = User.Identity.GetUserId();
            }
            else
            {
                userID = "761aa9be-9849-4596-a8e7-d30611343cb9";
            }
            for (int i = 0; i < numOfTickets; i++)
            {
                Ticket t = new Ticket();

                t.UserID = userID;

                db.Tickets.Add(t);
            }
            db.SaveChanges();

            var purchasedTickets = db.Tickets.Where(x => x.UserID == userID).OrderBy(x => x.TicketID).Take((int)numOfTickets).ToList();

            foreach (var item in purchasedTickets)
            {
                SeatID s = new SeatID();
                s.TMID     = (int)tmid;
                s.TicketID = item.TicketID;
                db.SeatIDs.Add(s);
            }
            db.SaveChanges();

            return(View());
        }