public ActionResult DeleteConfirmed(int id) { Passenger_Booking passenger_Booking = db.Passenger_Booking.Find(id); db.Passenger_Booking.Remove(passenger_Booking); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "PB_ID,FK_Booking_ID,FK_ID")] Passenger_Booking passenger_Booking) { if (ModelState.IsValid) { db.Entry(passenger_Booking).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.FK_Booking_ID = new SelectList(db.Bookings, "Booking_ID", "Booking_ID", passenger_Booking.FK_Booking_ID); ViewBag.FK_ID = new SelectList(db.Passenger_Details, "ID", "FName", passenger_Booking.FK_ID); return(View(passenger_Booking)); }
// GET: Passenger_Booking/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Passenger_Booking passenger_Booking = db.Passenger_Booking.Find(id); if (passenger_Booking == null) { return(HttpNotFound()); } return(View(passenger_Booking)); }
// GET: Passenger_Booking/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Passenger_Booking passenger_Booking = db.Passenger_Booking.Find(id); if (passenger_Booking == null) { return(HttpNotFound()); } ViewBag.FK_Booking_ID = new SelectList(db.Bookings, "Booking_ID", "Booking_ID", passenger_Booking.FK_Booking_ID); ViewBag.FK_ID = new SelectList(db.Passenger_Details, "ID", "FName", passenger_Booking.FK_ID); return(View(passenger_Booking)); }
public void AddPassengerToBooking(int referenceNumber, int passportNumber) { using (var scope = new TransactionScope()) { var booking = GetBooking(referenceNumber); if (IsBookedOnFlight(booking.flight_number, passportNumber)) { throw new DoubleBookingException(); } else { var passengerBooking = new Passenger_Booking(); passengerBooking.reference_number = referenceNumber; passengerBooking.passport_number = passportNumber; booking.Passenger_Bookings.Add(passengerBooking); db.SubmitChanges(); scope.Complete(); } } }
public ActionResult ValidationForPayment([Bind(Include = "cardtype,name,creditcardnumber,expirymonth,expiry_year")] Payment_Details paymentdetails) { Session["errormessage"] = null; if (ModelState.IsValid) { String cardtype = paymentdetails.cardtype.ToString(); String name = paymentdetails.name; String number = paymentdetails.creditcardnumber.ToString(); int expmonth = paymentdetails.expirymonth; int expyear = paymentdetails.expiry_year; if (cardtype.Equals("visa")) { int length = number.Length; if (length != 16) { Session["errormessage"] = "Visa Card Number should have 16 digits!"; return(View("Payment_Page")); } if (number[0] != '4') { Session["errormessage"] = "Visa Card Number should start by 4"; return(View("Payment_Page")); } if (expmonth < 1) { Session["errormessage"] = "Sorry, Expiry month is out of range!"; String error = Session["errormessage"].ToString(); return(View("Payment_Page")); } if (expmonth > 12) { Session["errormessage"] = "Sorry, Expiry month is out of range!"; String error = Session["errormessage"].ToString(); return(View("Payment_Page")); } if (expyear < 2016) { Session["errormessage"] = "Sorry, Expiry Year is out of range!"; return(View("Payment_Page")); } if (expyear > 2031) { Session["errormessage"] = "Sorry, Expiry Year is out of range!"; return(View("Payment_Page")); } } if (cardtype.Equals("mastercard")) { int length = number.Length; if (length != 16) { Session["errormessage"] = "MasterCard Number should have 16 digits!"; return(View("Payment_Page")); } if (number[0] != '5') { Session["errormessage"] = "Master Card Number should start by 51-55!"; return(View("Payment_Page")); } char secchar = number[1]; int secondnumber = (int)Char.GetNumericValue(secchar); if (secondnumber > 6) { Session["errormessage"] = "Master Card Number should start by 51-55!"; return(View("Payment_Page")); } if (expmonth < 1) { Session["errormessage"] = "Sorry, Expiry month is out of range!"; return(View("Payment_Page")); } if (expmonth > 12) { Session["errormessage"] = "Sorry, Expiry month is out of range!"; return(View("Payment_Page")); } if (expyear < 2016) { Session["errormessage"] = "Sorry, Expiry year is out of range!"; return(View("Payment_Page")); } if (expyear > 2031) { Session["errormessage"] = "Sorry, Expiry year is out of range!"; return(View("Payment_Page")); } } if (cardtype.Equals("americanexpress")) { int length = number.Length; if (length != 15) { Session["errormessage"] = "American Card Number should have 15 digits!"; return(View("Payment_Page")); } if (number[0] != '3') { Session["errormessage"] = "American Card Number should start by 34 or 37!"; return(View("Payment_Page")); } else if (number[1] != '4' && number[1] != '7') { Session["errormessage"] = "American Card Number should start by 34 or 37!"; return(View("Payment_Page")); } char secchar = number[1]; int secondnumber = (int)Char.GetNumericValue(secchar); if (secondnumber < 4 || secondnumber > 7) { Session["errormessage"] = "Amrican Card Number should start by 34-37!"; return(View("Payment_Page")); } if (expmonth < 1) { Session["errormessage"] = "Sorry, Expiry month is out of range!"; return(View("Payment_Page")); } if (expmonth > 12) { Session["errormessage"] = "Sorry, Expiry month is out of range!"; return(View("Payment_Page")); } if (expyear < 2016) { Session["errormessage"] = "Sorry, Expiry year is out of range!"; return(View("Payment_Page")); } if (expyear > 2031) { Session["errormessage"] = "Sorry, Expiry year is out of range!"; return(View("Payment_Page")); } } Console.WriteLine(cardtype); Console.WriteLine(name); Console.WriteLine(number); List <int> passids = new List <int>(); if (Session["errormessage"] == null) { List <Passenger_Details> passengerlist = (List <TrainReserveSystem.Models.Passenger_Details>)Session["passengerlist"]; foreach (var passenger in passengerlist) { db.Passenger_Details.Add(passenger); db.SaveChanges(); passids.Add(passenger.ID); } var rawQuery = db.Database.SqlQuery <int>("SELECT COUNT(*) VALUE FROM Booking;"); var task = rawQuery.SingleAsync(); int bookingid = (int)task.Result + 1; int passengercount = (int)Session["passengercount"]; int fare = (int)Session["trainfare"]; int totalfare = passengercount * fare; int trainid = (int)Session["id"]; Booking booking = new Booking(); booking.Booking_ID = bookingid; booking.Total_Fare = totalfare; booking.FK_Train_Detail_ID = trainid; db.Bookings.Add(booking); db.SaveChanges(); Session["bookingid"] = bookingid; foreach (var id in passids) { var rawQuery2 = db.Database.SqlQuery <int>("SELECT COUNT(*) VALUE FROM Passenger_Booking;"); var task2 = rawQuery2.SingleAsync(); int passengerbookingid = (int)task2.Result + 1; Passenger_Booking pb = new Passenger_Booking(); pb.PB_ID = passengerbookingid; pb.FK_Booking_ID = bookingid; pb.FK_ID = id; db.Passenger_Booking.Add(pb); db.SaveChanges(); } return(View("PaymentConfirmation")); } } return(View("Payment_Page")); }