public ActionResult Booking(bookingViewModel b)
        {
            var price = Convert.ToInt32(Session["price"]);

            var total = (b.Guests) * (price) * ((b.ToDate.Day) - (b.FromDate.Day));



            var charges = new ChargeService();


            var charge = charges.Create(new ChargeCreateOptions
            {
                Amount = (total / 160) * 100,//charge in cents

                Description = "Sample Charge",
                Currency    = "usd",
                Customer    = Convert.ToString(Session["customer_id"]),


                ReceiptEmail = Convert.ToString(Session["stripeEmail"]),
            });



            var u = new User();

            u.Name     = b.Name;
            u.Email_ID = b.Email;
            u.Address  = b.Address;
            u.Password = b.Password;
            db.Users.Add(u);
            db.SaveChanges();
            var v = new Booking();


            v.FromDate = b.FromDate;
            v.ToDate   = b.ToDate;
            v.Total    = total;
            v.U_ID     = u.U_ID;
            v.Sh_ID    = Convert.ToInt32(Session["id"]);
            db.Bookings.Add(v);
            db.SaveChanges();


            if (charge.Status == "succeeded")
            {
                var a = ((charge.Amount * 160) / 100);
                Session["charge"] = Convert.ToString(Convert.ToInt32(a));
                return(RedirectToAction("Index"));
            }
            else
            {
                var a = "Your payment is not done due to some reasons,so kindly do it again";
                Session["msg"] = a;
                return(RedirectToAction("Index"));
            }
        }
示例#2
0
        public string MakeBooking(bookingViewModel booking)
        {
            var token = db.accesstokens.Where(a => a.token == booking.token.accessToken).FirstOrDefault();

            if (token != null)
            {
                // Check expire date
                if (token.expires >= DateTime.Now)
                {
                    // Alright, make booking
                    var    credentials = Base64.Decode(token.token);
                    int    separator   = credentials.IndexOf(':');
                    string username    = credentials.Substring(0, separator);
                    string guid        = credentials.Substring(separator + 1);

                    var currentUser = db.users.Where(u => u.username == username).FirstOrDefault();

                    db.bookings.Add(new Models.booking {
                        movieId = booking.movieId, tickets = booking.tickets, userid = currentUser.id, created = DateTime.Now
                    });
                    db.SaveChanges();

                    return("ok");
                }
                else
                {
                    // Token Expired
                    return("failed");
                }
            }
            else
            {
                // Not a valid token
                return("failed");
            }
        }