//
        // GET: /Booking/Create
        public ActionResult Create(string car_reg, string place, int from_year, int from_month, int from_day,
             int to_year, int to_month, int to_day)
        {
            var email = "";
             if (User.Identity.IsAuthenticated)
                  email = Membership.GetUser().Email;
             UserObj u = CustomUserService.loadUser(email);
             if (!u.Customer)
             {
                  return RedirectToAction("Login", "Account", new
                  {
                       returnUrl = "/Booking/Create?car_reg=" + car_reg +
                       "&from_year=" + from_year + "&from_month=" + from_month + "&from_day=" +
                       from_day + "&to_year=" + to_year + "&to_month=" + to_month +  "&to_day=" +
                       to_day + "&place=" + place
                  });
             }
             var from_string = from_year + "/" + from_month + "/" + from_day;
             DateTime fromdate = DateTime.ParseExact(from_string, "yyyy/M/d", null);
             var to_string = to_year + "/" + to_month + "/" + to_day;
             DateTime todate = DateTime.ParseExact(to_string, "yyyy/M/d", null);

            BookingCreateUI showChosenCar = new BookingCreateUI();
            Car car = new Car();
            car.car_reg = car_reg;
            showChosenCar.fromDate = fromdate;
            showChosenCar.toDate = todate;
            showChosenCar.car = car;
            showChosenCar.place = place;

            BookingCreateUI result = logic.ShowChosenCar(showChosenCar);
            return View(result);
        }
        public ActionResult Create(BookingCreateUI booking)
        {
            var email = "";
             if (User.Identity.IsAuthenticated)
                  email = Membership.GetUser().Email;
             UserObj u = CustomUserService.loadUser(email);
             if (!u.Customer)
                  return RedirectToAction("Login", "Account");

             if (ModelState.IsValid)
             {
                  BookingConfirmUI bookingConfirm = new BookingConfirmUI();
                  bookingConfirm = logic.CreateBooking(booking, u.Id());
                  return RedirectToAction("Confirm", new { booking_id = bookingConfirm.BookingId });
             }

             return View(booking);
        }
Exemplo n.º 3
0
        public Models.ui.BookingCreateUI ShowChosenCar(BookingCreateUI car)
        {
            var supplierObj = new SupplierBObj();
             var carObj = new CarBObj(supplierObj);
             var booking = new BookingBObj(carObj, supplierObj);

             var startDate = car.fromDate;
             var endDate = car.toDate;
             var car_reg = car.car.car_reg;

             var carId = db.getCarIdByReg(car_reg);

             carObj.setId(carId);

             booking.setBookingRange(startDate, endDate);

             var dbUnavailabilities = db.listUnavailabilitiesForCar(carId);
             var unavailabilities = new List<UnavailableDateBObj>();

             foreach (var u in dbUnavailabilities)
             {
                  var unavailable = new UnavailableDateBObj{ fromDate = u.start_date, toDate = u.end_date };
                  unavailabilities.Add(unavailable);
             }

             car.valid = booking.valid(unavailabilities);
             car.amount = booking.getTotalCost();
             return car;
        }