Beispiel #1
0
        public UserMainPage()

        {
            this.InitializeComponent();

            ResultPage.ResultParam param = new ResultPage.ResultParam();
            param.airLines = DataBase.Instence.GetBuyedTickets(App.Instance.UserName);
            param.type     = ResultPage.PageType.UserMessagePage;
            MyTicket.Navigate(Type.GetType("PlaneUWP.ResultPage_UserMain"), param);
            Messages         = new ObservableCollection <string>(DataBase.Instence.GetMessage(App.Instance.UserName));
            this.DataContext = this;
        }
Beispiel #2
0
            public long GetDepartureAnswer()
            {
                ValidNearbyTickets.Add(MyTicket);

                for (var ii = 0; ii < MyTicket.Count(); ii++)
                {
                    var ticketVals = ValidNearbyTickets.Select(tVal => tVal[ii]).ToList();
                    foreach (var range in AcceptableRanges.Where(range => ticketVals.All(j =>
                                                                                         Enumerable.Range(range.Min1, range.Max1 - range.Min1 + 1).Contains(j) ||
                                                                                         Enumerable.Range(range.Min2, range.Max2 - range.Min2 + 1).Contains(j))))
                    {
                        range.TicketPositions.Add(ii);
                    }
                }

                // Figure out which ranges belong to which positions
                while (AcceptableRanges.Any(i => i.TicketPositions.Count <int>() != 1))
                {
                    var rangesWithSinglePosition = AcceptableRanges.Where(i => i.TicketPositions.Count() == 1).ToList();
                    var filledPositions          = rangesWithSinglePosition.Select(i => i.TicketPositions.First()).ToList();

                    foreach (var val in filledPositions)
                    {
                        foreach (var range in AcceptableRanges.Where(i => i.TicketPositions.Count() > 1 && i.TicketPositions.Contains(val)))
                        {
                            range.TicketPositions.Remove(val);
                        }
                    }
                }


                //foreach (var range in AcceptableRanges.Where(i => i.Label.Contains("departure")))
                //{
                //    retVal *= MyTicket[range.TicketPositions.First()];
                //}

                //return retVal;
                return(AcceptableRanges.Where(i => i.Label.Contains("departure")).Aggregate <Range, long>(1, (current, range) => current * MyTicket[range.TicketPositions.First()]));
            }
Beispiel #3
0
        public ActionResult My_Shows()
        {
            int             user      = (int)Session["userid"];
            List <MyTicket> aa        = new List <MyTicket>();
            var             allticket = from t in db.Tickets where t.user_id == user select t;
            string          tids      = "rp";
            MyTicket        mm        = new MyTicket();
            string          seat;

            foreach (Ticket tt in allticket)
            {
                if (tids == "rp")
                {
                    tids         = tt.T_NO;
                    mm.TicketNo  = tids;
                    mm.moviename = tt.seat.movie.Movie_name;
                    if (tt.Seat_id % 100 == 0)
                    {
                        seat = "100";
                    }
                    else
                    {
                        seat = (tt.Seat_id % 100).ToString();
                    }
                    mm.Seats       = seat + "  ";
                    mm.time        = tt.seat.movie.Show_time;
                    mm.theatrename = tt.seat.theatre.Theatre_name;
                    mm.city        = tt.seat.theatre.City;
                }
                else if (tids != tt.T_NO)
                {
                    aa.Add(mm);
                    mm           = new MyTicket();
                    tids         = tt.T_NO;
                    mm.TicketNo  = tids;
                    mm.moviename = tt.seat.movie.Movie_name;
                    if (tt.Seat_id % 100 == 0)
                    {
                        seat = "100";
                    }
                    else
                    {
                        seat = (tt.Seat_id % 100).ToString();
                    }
                    mm.Seats       = tt.Seat_id + "  ";
                    mm.time        = tt.seat.movie.Show_time;
                    mm.theatrename = tt.seat.theatre.Theatre_name;
                    mm.city        = tt.seat.theatre.City;
                }
                else
                {
                    mm.Seats += "  " + tt.Seat_id;
                }
            }

            if (tids != "rp")
            {
                aa.Add(mm);
            }
            return(View(aa));
        }
Beispiel #4
0
        public ActionResult Create([Bind(Include = "Id,CardNo,CardHolder,ExpiryDate,Cvv,CardType")] Payment payment)
        {
            var pay = con.Payments.Where(p => p.CardNo.Equals(payment.CardNo) && p.CardHolder.Equals(payment.CardHolder) && p.CardType == payment.CardType &&
                                         p.ExpiryDate == payment.ExpiryDate && p.Cvv == payment.Cvv).FirstOrDefault();

            if (pay != null)
            {
                pay.AvailableBalance = (pay.AvailableBalance - (double)Session["Price"]);
                BookTicket booked = (BookTicket)TempData["booking1"];
                booked.CardNo     = pay.CardNo;
                booked.BookedDate = DateTime.Now;
                TempData.Keep();
                con.BookTickets.Add(booked);
                //tickets reduced from train
                int    tid    = booked.TrainId;
                string uid    = booked.UserId;
                var    train  = con.Trains.Where(t => t.TrainId == tid).FirstOrDefault();
                string status = train.SeatAvailability;
                if (train.NoOfSeat > 0)
                {
                    train.NoOfSeat = (train.NoOfSeat - booked.NoOfTickets);
                }
                else
                {
                    train.NoOfSeat = 0;
                    //int waiting = booked.NoOfTickets;
                }
                int noofseats = train.NoOfSeat;
                if (noofseats == 0)
                {
                    train.SeatAvailability = "waiting";
                    // int i = 0;
                    train.NoOfSeat = 0;
                }



                //adding to user booking
                //string status = train.SeatAvailability;
                var mytickets = new MyTicket();
                mytickets.UserId        = uid;
                mytickets.TrainId       = tid;
                mytickets.Source        = train.Source;
                mytickets.Destination   = train.Destination;
                mytickets.NoofTickets   = booked.NoOfTickets;
                mytickets.Price         = booked.Price;
                mytickets.DateOfBooking = DateTime.Now;
                mytickets.CardNo        = pay.CardNo;
                string sts;
                if (status == "Available" || status == "available")
                {
                    sts = "Confirmed";
                }
                else
                {
                    sts = "Waiting";
                }
                mytickets.ConfirmationStatus = sts;
                con.MyTickets.Add(mytickets);
                //add col cardno,bookdate in booktickets
                con.SaveChanges();
                return(RedirectToAction("PaySuccess"));
            }
            else
            {
                return(RedirectToAction("Fail"));
            }
        }