public async Task <IActionResult> PostBookingRecords([FromBody] BookingRecords bookingRecords) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.BookingRecords.Add(bookingRecords); try { await _context.SaveChangesAsync(); } catch (DbUpdateException) { if (BookingRecordsExists(bookingRecords.BookingId)) { return(new StatusCodeResult(StatusCodes.Status409Conflict)); } else { throw; } } return(CreatedAtAction("GetBookingRecords", new { id = bookingRecords.BookingId }, bookingRecords)); }
public async Task <IActionResult> PutBookingRecords([FromRoute] int id, [FromBody] BookingRecords bookingRecords) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != bookingRecords.BookingId) { return(BadRequest()); } _context.Entry(bookingRecords).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!BookingRecordsExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public IActionResult Checkout() { var amount = TempData["total"]; var cid = (TempData["cid"]).ToString(); int.Parse(HttpContext.Session.GetString("cID")); DateTime cin = DateTime.Parse(HttpContext.Session.GetString("CheckIn")); DateTime cout = DateTime.Parse(HttpContext.Session.GetString("CheckOut")); Bookings bookings = new Bookings() { TotalAmount = Convert.ToSingle(amount), BookingDate = DateTime.Now, CheckIn = cin, CheckOut = cout, CustomerId = int.Parse(cid) }; ViewBag.Book = bookings; context.Bookings.Add(bookings); context.SaveChanges(); var booking = SessionHelper.GetObjectFromJson <List <Item> >(HttpContext.Session, "Booking"); List <BookingRecords> bookingRecords = new List <BookingRecords>(); for (int i = 0; i < booking.Count; i++) { BookingRecords bookingRecord = new BookingRecords() { BookingId = bookings.BookingId, RoomId = booking[i].HotelRooms.RoomId, Quantity = booking[i].Quantity }; bookingRecords.Add(bookingRecord); } bookingRecords.ForEach(n => context.BookingRecords.Add(n)); context.SaveChanges(); TempData["cust"] = cid; ViewBag.booking = null; return(RedirectToAction("Invoice")); }
public IActionResult Checkout(string stripeEmail, string stripeToken) { var amount = TempData["total"]; var cid = (TempData["cid"]).ToString(); int.Parse(HttpContext.Session.GetString("cID")); DateTime cin = DateTime.Parse(HttpContext.Session.GetString("CheckIn")); DateTime cout = DateTime.Parse(HttpContext.Session.GetString("CheckOut")); Bookings bookings = new Bookings() { TotalAmount = Convert.ToSingle(amount), BookingDate = DateTime.Now, CheckIn = cin, CheckOut = cout, CustomerId = int.Parse(cid) }; ViewBag.Book = bookings; _context.Bookings.Add(bookings); _context.SaveChanges(); TempData["bookingId"] = bookings.BookingId; var booking = SessionHelper.GetObjectFromJson <List <Item> >(HttpContext.Session, "Booking"); List <BookingRecords> bookingRecords = new List <BookingRecords>(); for (int i = 0; i < booking.Count; i++) { BookingRecords bookingRecord = new BookingRecords() { BookingId = bookings.BookingId, RoomId = booking[i].HotelRooms.RoomId, Quantity = booking[i].Quantity }; bookingRecords.Add(bookingRecord); } bookingRecords.ForEach(n => _context.BookingRecords.Add(n)); _context.SaveChanges(); TempData["cust"] = cid; ViewBag.booking = null; int days = int.Parse(TempData["days"].ToString()); var customers = new CustomerService(); var charges = new ChargeService(); var customer = customers.Create(new CustomerCreateOptions { Email = stripeEmail, SourceToken = stripeToken }); var charge = charges.Create(new ChargeCreateOptions { Amount = booking.Sum(item => item.HotelRooms.RoomPrice * item.Quantity * days), Description = "Sample Charge", Currency = "INR", CustomerId = customer.Id }); _context.SaveChanges(); var customerService = new CustomerService(); ViewBag.details = charge.PaymentMethodDetails.Card.Last4; Payments payment = new Payments() { PaymentDate = DateTime.Now, PaymentAmount = booking.Sum(item => item.HotelRooms.RoomPrice * item.Quantity * days), PaymentDescription = " Payment Is Done.Thanks", CustomerId = int.Parse(HttpContext.Session.GetString("cID")), BookingId = int.Parse(TempData["bookingId"].ToString()), PaymentCardNumber = int.Parse(ViewBag.details), StripePaymentId = stripeToken }; _context.Payments.Add(payment); _context.SaveChanges(); TempData["paymentID"] = payment.PaymentId; return(RedirectToAction("invoice", "Booking")); //return RedirectToAction("charge","Booking"); }