Ejemplo n.º 1
0
        public async Task BookTicket(BookTicket ticket)
        {
            var queue      = new QueueRepository(QueueName.RequestedToBook);
            var serializer = new QueueMessageSerializer(); // lifecycle na single

            await queue.Add(serializer.Serialize(ticket));
        }
Ejemplo n.º 2
0
        private async void BtnBookTicket_Clicked(object sender, EventArgs e)
        {
            var bookTicket = new BookTicket
            {
                CustomerName = EntName.Text,
                Email        = EntEmail.Text,
                Phone        = EntPhone.Text,
                Qty          = SpanQty.Text,
                MovieName    = LblMovieName.Text,
                TotalPayment = SpanTotalPrice.Text,
                BookingDate  = _bookDate
            };

            ApiServices apiServices = new ApiServices();
            bool        response    = await apiServices.Order(bookTicket);

            if (response)
            {
                await DisplayAlert("Hi", "Your ticket has been reserved...", "OK");

                await Navigation.PopAsync();
            }
            else
            {
                await DisplayAlert("Oops", "Something went wrong...", "OK");
            }
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Edit(int id, [Bind("BookTicketID,MovieID,HallID")] BookTicket bookTicket)
        {
            if (id != bookTicket.BookTicketID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(bookTicket);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!BookTicketExists(bookTicket.BookTicketID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["HallID"]  = new SelectList(_context.Halls, "Id", "Id", bookTicket.HallID);
            ViewData["MovieID"] = new SelectList(_context.Movies, "Id", "Title", bookTicket.MovieID);
            return(View(bookTicket));
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> BookTicket([FromBody] BookTicket model)
        {
            if (!ModelState.IsValid)
            {
                var errors = ModelState.Select(x => x.Value.Errors)
                             .Where(y => y.Count > 0)
                             .ToList();
                return(BadRequest(errors));
            }

            var seatNumber = await _context.Tickets.Where(item => item.Id == Convert.ToInt32(model.SeatNumberId)).Select(item => item.SeatNumberId).FirstOrDefaultAsync();

            var BookTicket = new BookTicket
            {
                FullName     = model.FullName,
                Address      = model.Address,
                Phone        = model.Phone,
                Email        = model.Email,
                TicketId     = Convert.ToInt32(model.SeatNumberId),
                SeatNumberId = seatNumber,
                Status       = false,
                CreatedAt    = DateTime.Now
            };
            await _context.BookTickets.AddAsync(BookTicket);

            await _context.SaveChangesAsync();

            return(Ok(1));
        }
Ejemplo n.º 5
0
        public async Task <bool> PostOrder(BookTicket orderTicket)
        {
            var client  = new HttpClient();
            var json    = JsonConvert.SerializeObject(orderTicket);
            var content = new StringContent(json, Encoding.UTF8, "application/json");

            content.Headers.Add("ApiKey", "2ee2b3b0-3988-4546-b03f-43d9063e4ff0");
            var response = await client.PostAsync(_orderUrl, content);

            return(response.IsSuccessStatusCode);
        }
Ejemplo n.º 6
0
        public async Task <bool> Order(BookTicket bookTicket)
        {
            var client  = new HttpClient();
            var json    = JsonConvert.SerializeObject(bookTicket);
            var content = new StringContent(json, Encoding.UTF8, "application/json");

            content.Headers.Add("ApiKey", "8e75a7f2-2b51-4360-b684-a14b1b233570");
            var response = await client.PostAsync(orderApiUrl, content);

            return(response.IsSuccessStatusCode);
        }
Ejemplo n.º 7
0
        public async Task <bool> Order(BookTicket bookTicket)
        {
            var client  = new HttpClient();
            var json    = bookTicket.ToJson();
            var content = new StringContent(json, Encoding.UTF8, "application/json");

            content.Headers.Add("ApiKey", _apiKey);
            var response = await client.PostAsync(_orderApi, content);

            return(response.IsSuccessStatusCode);
        }
Ejemplo n.º 8
0
        public async Task <bool> Order(BookTicket bookTicket)
        {
            var client  = new HttpClient();
            var json    = JsonConvert.SerializeObject(bookTicket);
            var content = new StringContent(json, Encoding.UTF8, "application/json");

            content.Headers.Add("ApiKey", "fd78d5db-fe18-43d6-b690-d582373b9a1c");
            var response = await client.PostAsync(orderApiUrl, content);

            return(response.IsSuccessStatusCode);
        }
Ejemplo n.º 9
0
        public async Task <bool> Order(BookTicket bookTicket)
        {
            var client     = new HttpClient();
            var jsonTicket = JsonConvert.SerializeObject(bookTicket);
            var content    = new StringContent(jsonTicket, Encoding.UTF8, "application/json");

            content.Headers.Add("ApiKey", "b840382c-4c46-490d-af03-22b9864205ee");
            var response = await client.PostAsync(_orderApiUrl, content);

            return(response.IsSuccessStatusCode);
        }
Ejemplo n.º 10
0
        public async Task <IActionResult> Create([Bind("BookTicketID,MovieID,HallID")] BookTicket bookTicket)
        {
            if (ModelState.IsValid)
            {
                _context.Add(bookTicket);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["HallID"]  = new SelectList(_context.Halls, "Id", "Id", bookTicket.HallID);
            ViewData["MovieID"] = new SelectList(_context.Movies, "Id", "Title", bookTicket.MovieID);
            return(View(bookTicket));
        }
Ejemplo n.º 11
0
        public async Task <bool> Order(BookTicket ticket)
        {
            var client = new HttpClient();

            var ticketJson = JsonConvert.SerializeObject(ticket);

            var payload = new StringContent(ticketJson, Encoding.UTF8, "application/json");

            payload.Headers.Add(APIKEY, KEY);

            var response = await client.PostAsync(bookTicketUrl, payload);

            return(response.IsSuccessStatusCode);
        }
Ejemplo n.º 12
0
        public BookTicketPage(NowPlayingMovie movie)
        {
            InitializeComponent();
            MovieImage.Source    = movie.CoverImage;
            Time1Label.Text      = movie.ShowTime1.ToShortTimeString();
            Time2Label.Text      = movie.ShowTime2.ToShortTimeString();
            Time3Label.Text      = movie.ShowTime3.ToShortTimeString();
            UnitPrice.Text       = movie.TicketPrice;
            MovieNameLabel.Text  = movie.MovieName;
            Picker.SelectedIndex = 0;
            Quantity.Text        = Picker.SelectedItem.ToString();

            ButtonBook.Clicked += async(sender, args) =>
            {
                var ticket = new BookTicket();
                ticket.MovieName    = MovieNameLabel.Text;
                ticket.Email        = EmailEntry.Text;
                ticket.CustomerName = NameEntry.Text;
                ticket.Phone        = PhoneEntry.Text;
                ticket.Qty          = Quantity.Text;
                ticket.BookingDate  = _selectedTime;
                ticket.TotalPayment = TotalPrice.Text;
                var api    = new ApiServices();
                var result = await api.PostOrder(ticket);

                if (result)
                {
                    await DisplayAlert("Message", "Your ticket was reserved...", "OK");
                }
                else
                {
                    await DisplayAlert("Error", "Something went wrong....", "OK");
                }

                await Navigation.PopAsync(true);
            };

            Picker.SelectedIndexChanged += (sender, args) =>
            {
                var quantity  = int.Parse(Picker.SelectedItem.ToString());
                var unitPrice = int.Parse(UnitPrice.Text);
                var total     = quantity * unitPrice;
                Quantity.Text   = quantity.ToString();
                TotalPrice.Text = total.ToString();
            };
        }
Ejemplo n.º 13
0
        public ActionResult TicketBook(FormCollection form)
        {
            try
            {
                /*ViewBag.coach= form["Coachvalue"].ToString();
                 * ViewBag.trainid = (int)Session["Traindid"];
                 * ViewBag.user= (string)Session["User"];
                 * ViewBag.tickets = Convert.ToInt32(form["nooftickets"].ToString());*/
                var book = new BookTicket();
                book.Coach        = form["Coachvalue"].ToString();
                book.SeatLocation = form["SeatLocation"].ToString();
                book.NoOfTickets  = Convert.ToInt32(form["nooftickets"].ToString());
                book.TrainId      = (int)Session["Traindid"];
                book.UserId       = (string)Session["User"];
                int    tickets = Convert.ToInt32(form["nooftickets"].ToString());
                double price   = 0;
                string coach   = form["Coachvalue"].ToString();
                if (coach == "1 Tier AC")
                {
                    price = (tickets * 900);
                }
                else if (coach == "2 Tier AC")
                {
                    price = (tickets * 700);
                }
                else if (coach == "Sleeper class")
                {
                    price = (tickets * 400);
                }
                else
                {
                    price = (tickets * 100);
                }
                book.Price = price;
                //con.BookTickets.Add(book);
                //con.SaveChanges();
                Session["Price"]    = price;
                TempData["booking"] = book;

                /*Session["book"] = book;
                 * var book1 = new BookTicket();
                 * book1 = (BookTicket)Session["book"];
                 * int train = book1.TrainId;*/
                TempData.Keep();
                return(RedirectToAction("Create", "Payments"));


                // return View("TicketBookcheck");
            }
            catch (Exception e)
            {
                ModelState.AddModelError("", e.Message);
                return(View());
            }

            /*ViewBag.coach= form["Coachvalue"].ToString();
             * ViewBag.trainid = (int)Session["Traindid"];
             * ViewBag.user= (string)Session["User"];
             * ViewBag.tickets = Convert.ToInt32(form["nooftickets"].ToString());
             * var book = new BookTicket();
             * book.Coach = form["Coachvalue"].ToString();
             * book.SeatLocation = form["SeatLocation"].ToString();
             * book.NoOfTickets = Convert.ToInt32(form["nooftickets"].ToString());
             * book.TrainId = (int)Session["Traindid"];
             * book.UserId = (string)Session["User"];
             * int tickets = Convert.ToInt32(form["nooftickets"].ToString());
             * double price = 0;
             * string coach = form["Coachvalue"].ToString();
             * if (coach == "1 Tier AC")
             * {
             * price = (tickets * 900);
             * }
             * else if (coach == "2 Tier AC")
             * {
             *  price = (tickets * 700);
             * }
             * else if (coach == "Sleeper class")
             * {
             *  price = (tickets * 400);
             * }
             * else
             * {
             *  price = (tickets * 100);
             * }
             * book.Price = price;
             * //con.BookTickets.Add(book);
             * //con.SaveChanges();
             * Session["Price"] = price;
             * TempData["booking"] = book;
             * /*Session["book"] = book;
             * var book1 = new BookTicket();
             * book1 = (BookTicket)Session["book"];
             * int train = book1.TrainId;
             * TempData.Keep();
             * return RedirectToAction("Create", "Payments");
             *
             *
             * // return View("TicketBookcheck");*/
        }
Ejemplo n.º 14
0
        public async Task <IActionResult> Book(BookTicket ticket)
        {
            await CommandDispatcher.Execute(new BookTicketCommand(ticket.EventName, ticket.Category, ticket.Count));

            return(Ok());
        }
Ejemplo n.º 15
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"));
            }
        }