// ----------------------------- this view is only for static run (TEMP VIEW) public ActionResult PackageCheckout() { PackageCheckoutVM objToPass = new PackageCheckoutVM() { hotelName = "Mercure Muc Freising Airport", numberOfRooms = 2, roomDescription = "1 DOUBLE BED NONSMOKING FEEL YOURSELF AT HOME", composition = "Couple + 3 Children", departureFlightNumber = "681", returnFlightNumber = "680", departureDate = "10.09.2018", returnDate = "17.09.2018", departureLocation = "Tel Aviv", returnLocation = "Munich", numberOfTickets = 5, airline = "LH", totalFee = "7592.32", }; return(View(objToPass)); }
public ActionResult SubmitPackage(PackageInfoVM obj) { int numberOfTickets = CalculateNumberOfTickets(obj.composition); PackageCheckoutVM objToPass = new PackageCheckoutVM() { destCountry = obj.flight.destinationCountry, hotelName = obj.hotel.hotelName, numberOfRooms = obj.hotel.numberOfRooms, roomDescription = obj.hotel.room[0].roomDescription, composition = obj.composition, departureFlightNumber = obj.flight.outbound.FlightNumber, returnFlightNumber = obj.flight.inbound.FlightNumber, departureDate = obj.flight.departureDate, returnDate = obj.flight.returnDate, departureLocation = obj.flight.originCity, returnLocation = obj.flight.destinationCity, numberOfTickets = numberOfTickets, airline = obj.flight.airline, totalFee = obj.price.ToString(), }; return(View("PackageCheckout", objToPass)); }
public ActionResult SubmitOrder(PackageCheckoutVM obj) { DataLayer dl = new DataLayer(); DateTime today = DateTime.Today; string date = today.ToString("dd/MM/yyyy").Replace("/", "."); double totalFee = Convert.ToDouble(obj.totalFee.Replace("$", "")); bool sameCustomer = false; // first check if customer already exists in table List <Customer> customerFromDB = (from u in dl.customers where u.Email.ToLower() == obj.email.ToLower() select u).ToList <Customer>(); if (customerFromDB.Count != 0) // if customer already exists { // check if the input is the same as the customer data if (customerFromDB[0].FullName != obj.customerName || customerFromDB[0].ID != obj.id) { TempData["error"] = "This email address already exist in our records with different name and/or different id!"; return(View("PackageCheckout", obj)); } else if (customerFromDB[0].Location != obj.address || customerFromDB[0].PhoneNumber != obj.phone) { // update: delete this row and later add new customer row dl.customers.Remove(customerFromDB[0]); dl.SaveChanges(); } // else: same row - no need to update else { sameCustomer = true; } } // --------------------- create object and save to table 1: Order Order order = new Order() { CreditCard = obj.creditCard, CustomerEmail = obj.email, OrderDate = date, Status = 0, TotalPayment = totalFee, Type = "Package", OrderDestination = obj.destCountry, }; dl.orders.Add(order); // adding in memory and not to DB // dl.SaveChanges(); int INVOICE = order.InvoiceNumber; // --------------------- create object and save to table 2: PackageOrder PackageOrder PackageOrder = new PackageOrder() { InvoiceID = INVOICE, Composition = obj.composition, DepartureLocation = obj.departureLocation, ArrivalLocation = obj.returnLocation, DepartureDate = obj.departureDate, ReturnDate = obj.returnDate, Outbound_FlightNumber = int.Parse(obj.departureFlightNumber), Inbound_FlightNumber = int.Parse(obj.returnFlightNumber), Airline = obj.airline, NumberOfTickets = obj.numberOfTickets, HotelName = obj.hotelName, NumberOfRooms = obj.numberOfRooms, RoomDescription = obj.roomDescription, Reviewed = 0 }; dl.packageOrders.Add(PackageOrder); // adding in memory and not to DB // // --------------------- create object and save to table 3: Customer if (!sameCustomer) { Customer customer = new Customer() { Email = obj.email, FullName = obj.customerName, Location = obj.location, ID = obj.id, PhoneNumber = obj.phone }; dl.customers.Add(customer); // adding in memory and not to DB // } dl.SaveChanges(); // go to recipt return(RedirectToAction("ViewOrderReceipt", "Support", new { invoice = INVOICE })); }