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")); } }
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"); } }