public async Task <IActionResult> Update([FromForm] BookingVM bookingInfo) { if (ModelState.IsValid) { var startDay = DateTime.ParseExact(bookingInfo.PickUpDate, "yyyy-MM-dd", CultureInfo.InvariantCulture); var endDay = DateTime.ParseExact(bookingInfo.DropOffDate, "yyyy-MM-dd", CultureInfo.InvariantCulture); var totalDays = (endDay - startDay).TotalDays + 1; var cost = (await carTypeRepository.GetById((await carRepository.GetById(bookingInfo.CarId)).CarTypeId)).Cost; Booking booking = new Booking { Id = bookingInfo.Id, CarId = bookingInfo.CarId, UserId = bookingInfo.UserId, PickUpDate = startDay, DropOffDate = endDay, PickUpLocation = bookingInfo.PickUpLocation, DropOffLocation = bookingInfo.DropOffLocation, TotalCost = cost, Status = bookingInfo.Status }; await bookingRepository.Update(booking); return(Ok()); } var allErrors = ModelState.Values.SelectMany(v => v.Errors.Select(b => b.ErrorMessage)); return(BadRequest(allErrors)); }
public async Task <BookingVM> GetBookingWGuestsById(int bookingId) { using (IDbConnection conn = Connection) { try { string sQuery = "SELECT * FROM " + Booking.tableName + " WHERE Id = @Id;"; string sQuery2 = "SELECT * FROM " + BookingNonMember.tableName + " WHERE BookingID = @Id;"; conn.Open(); var results = await conn.QueryMultipleAsync(sQuery + sQuery2, new { Id = bookingId }); var booking = results.Read <Booking>().Single(); var guests = results.Read <BookingNonMember>(); var result = new BookingVM { Booking = booking, BookingNonMembers = guests.ToList() }; return(result); } catch (Exception) { throw; } finally { conn.Close(); } } }
public bool BookingDetails(BookingVM bookingVM) { //check hotel name and room name HotelDL hotelDL = new HotelDL(); RoomDL roomDL = new RoomDL(); bool isExistHotelName = hotelDL.CheckHotelName(bookingVM.HotelName); bool isExistRoomName = roomDL.CheckRoomName(bookingVM.RoomName); if (isExistHotelName == true && isExistRoomName == true) { int hotelId = hotelDL.GetHotelAscending() .Where(x => x.HotelName == bookingVM.HotelName) .Select(x => x.HotelId) .FirstOrDefault();; int roomId = roomDL.GetRooms() .Where(x => x.RoomName == bookingVM.RoomName && x.HotelId == hotelId) .Select(x => x.RoomId) .FirstOrDefault();; bookingVM.HotelId = hotelId; bookingVM.RoomId = roomId; List <BookingVM> bookingVMs = new List <BookingVM>(); bookingVMs.Add(bookingVM); bool saveStatus = bookingDL.SaveBookings(bookingVM); return(saveStatus); } return(false); }
public IHttpActionResult CreateBooking(BookingVM res) { var mng = new BookingManager(); mng.AddNewBooking(BookingMapper.MapBookingVM(res)); return(Ok(res)); }
public IActionResult RoundTripConfirm() { #region lay session BookingVM b = HttpContext.Session.GetObject <BookingVM>(SessionManager.Booking); SearchVM Request = HttpContext.Session.GetObject <SearchVM>(SessionManager.Request); #endregion #region tao model tra ve ConfirmVM model = new ConfirmVM(); model.Request = Request; model.Tickets.Add(_item.GetItemById(b.VeDi)); model.Tickets.Add(_item.GetItemById(b.VeVe)); FareVM DepartFares = new FareVM(); DepartFares.DanhSach.Add(new Fare() { HanhKhach = "Người lớn", SoLuong = Request.NguoiLon, GiaVe = model.Tickets[0].Gia * _item.GetDiscount(b.VeDi, 1) }); DepartFares.DanhSach.Add(new Fare() { HanhKhach = "Trẻ em", SoLuong = Request.TreEm, GiaVe = model.Tickets[0].Gia * _item.GetDiscount(b.VeDi, 2) }); DepartFares.DanhSach.Add(new Fare() { HanhKhach = "Em bé", SoLuong = Request.EmBe, GiaVe = model.Tickets[0].Gia * _item.GetDiscount(b.VeDi, 3) }); FareVM ReturnFares = new FareVM(); ReturnFares.DanhSach.Add(new Fare() { HanhKhach = "Người lớn", SoLuong = Request.NguoiLon, GiaVe = model.Tickets[1].Gia * _item.GetDiscount(b.VeVe, 1) }); ReturnFares.DanhSach.Add(new Fare() { HanhKhach = "Trẻ em", SoLuong = Request.TreEm, GiaVe = model.Tickets[1].Gia * _item.GetDiscount(b.VeVe, 2) }); ReturnFares.DanhSach.Add(new Fare() { HanhKhach = "Em bé", SoLuong = Request.EmBe, GiaVe = model.Tickets[1].Gia * _item.GetDiscount(b.VeVe, 3) }); model.Fares.Add(DepartFares); model.Fares.Add(ReturnFares); model.Planes.Add(_context.ChiTietChuyenBay.Include(c => c.ChiTietGhe).ThenInclude(h => h.HangVe) .Where(c => c.ChiTietGhe.HangVe.id_HangVe == Request.HangVe && c.id_ChiTietChuyenBay == b.VeDi) .Select(c => new PlaneVM() { SoDoGhe = c.ChiTietGhe.SoDoGhe, KhoangCach = (int)c.ChiTietGhe.KhoangCach, TenMayBay = "Airbus 330" }).SingleOrDefault()); model.Planes.Add(_context.ChiTietChuyenBay.Include(c => c.ChiTietGhe).ThenInclude(h => h.HangVe) .Where(c => c.ChiTietGhe.HangVe.id_HangVe == Request.HangVe && c.id_ChiTietChuyenBay == b.VeVe) .Select(c => new PlaneVM() { SoDoGhe = c.ChiTietGhe.SoDoGhe, KhoangCach = (int)c.ChiTietGhe.KhoangCach, TenMayBay = "Boeing 717" }).SingleOrDefault()); #endregion return(PartialView("_RoundTripConfirm", model)); }
public IActionResult DepartConfirm(int id) { #region luu session BookingVM b = HttpContext.Session.GetObject <BookingVM>(SessionManager.Booking); b.VeDi = id; HttpContext.Session.SetObject(SessionManager.Booking, b); #endregion return(RedirectToAction("RoundTripConfirm")); }
public IActionResult Index(int id) { //var screening = _unitOfWork.Screening.GetScreenings().Where(s => s.Id == id).FirstOrDefault(); var screening = _unitOfWork.Screening.GetScreeningById(id); var seatsForScreening = _unitOfWork.Seat.GetSeatsForAuditorium(screening.Auditorium); var rSeatsList = _unitOfWork.ReservedSeat.GetAllForScreening(screening); BookingVM bookingVM = new BookingVM(screening, seatsForScreening, rSeatsList); return(View(bookingVM)); }
public static bool ExcludeDesert(BookingVM temp) { if (temp.Date.Month > 9 || temp.Date.Month < 3) { return(true); } else { return(false); } }
public static bool ExcludeSnow(BookingVM temp) { if (temp.Date.Month > 5 && temp.Date.Month < 9) { return(true); } else { return(false); } }
public static bool IsWeekend(BookingVM temp) { if (temp.Date.DayOfWeek == DayOfWeek.Saturday || temp.Date.DayOfWeek == DayOfWeek.Sunday) { return(true); } else { return(false); } }
public async Task <IActionResult> PostUserInfo(BookingVM vm) { ////get tempBookingDetails and save to tempBookingVMDetails var tempBooking = _globalRepo.GetObjFromSessionJSON <Booking>("tempBookingDetails"); vm.Booking = tempBooking; ////SessionHelper.SetObjectAsJson<BookingVM>(HttpContext.Session, "tempBookingVMDetails", vm); _globalRepo.SaveObjToSessionJSON <BookingVM>("tempBookingVMDetails", vm); return(View("ConfirmBooking")); }
public ActionResult Index() { var VM = new BookingVM() { Booking = new Booking(), Accessoires = new List <Accessoire>() }; TempData["Booking"] = VM; return(View(new DateBookingVM())); }
public ActionResult ForthStep(BookingVM bookingVM) { var tempBooking = (BookingVM)TempData["Booking"]; if (BookingRepo.AddBooking(tempBooking.Booking)) { return(RedirectToAction("Index")); } TempData["Booking"] = tempBooking; return(View(tempBooking)); }
public ActionResult Details(int bookingId) { var bookingVM = new BookingVM() { Booking = BookingRepo.GetBooking(bookingId) }; bookingVM.CalculateDiscounts(AnimalRepo.GetAnimalTypes(), new Random().Next(0, 6)); bookingVM.TotalPrice = CalculatePrice(bookingVM); return(View(bookingVM)); }
public IHttpActionResult UpdateBookingStatus(BookingVM bookingVM) { var res = _bookingBL.BookDateById(bookingVM); if (res == true) { return(Ok("Booking updated!")); } else { return(BadRequest("Invalid Id!")); } }
public IHttpActionResult BookRoomWithDate(BookingVM bookingVM) { var res = _bookingBL.BookingDetails(bookingVM); if (res == true) { return(Ok(res)); } else { return(BadRequest("Invalid HotelName or RoomName")); } }
private void CalculatePrice(BookingVM tempBooking) { tempBooking.TotalPrice = 0; foreach (var animal in tempBooking.Booking.Animals) { tempBooking.TotalPrice += animal.Price; } foreach (var accessoire in tempBooking.Booking.Accessoires) { tempBooking.TotalPrice += accessoire.Price; } tempBooking.TotalPrice = tempBooking.TotalPrice / 100 * (100 - tempBooking.TotalDiscount); }
public async Task <IActionResult> PostAsync(BookingVM book) { var _booking = new Booking { Id = book.Id, FlightId = book.FlightId, IsCancelled = book.IsCancelled, AppUserID = book.AppUserId }; await _bookRepository.CreateAsync(_booking); return(Ok()); }
public ActionResult Index([Bind(Include = "ID,ContactpersonID,Date")] BookingVM booking) { if (ModelState.IsValid) { _bookRepo.TempBooking = booking; _beastRepo.SetFiltersToDefault(); //_bookRepo.TempBooking.Date = booking.Date; return(RedirectToAction("Step1", "Booking")); } return(View(booking)); }
public ActionResult Create([Bind(Include = "StartTime,BookingDate,NoCustomers,Comments")] BookingVM booking) { booking.BookingMadeDate = DateTime.Now; booking.BookingMadeTime = DateTime.Now.TimeOfDay; booking.RestaurantId = (int)Session[Global.RestaurantIdSessionVar]; booking.CustomerId = (int)Session[Global.UserIdSessionVar]; booking.EndTime = booking.StartTime.Add(new TimeSpan(1, 29, 59)); if (ModelState.IsValid) { Booking res = new Booking { Id = booking.Id, CustomerId = booking.CustomerId, RestaurantId = booking.RestaurantId, BookingMadeDate = booking.BookingMadeDate, BookingMadeTime = booking.BookingMadeTime, BookingDate = booking.BookingDate, StartTime = booking.StartTime, EndTime = booking.EndTime, PaymentTotal = booking.PaymentTotal, PaymentMadeDate = booking.PaymentMadeDate, NoCustomers = booking.NoCustomers, Comments = booking.Comments }; Table table = _bookingFacade.GetAvailableTable(res); if (table != null) { List <Table> resTables = new List <Table> { table }; res.Tables = resTables.AsEnumerable(); Session["Booking"] = res; //_bookingFacade.Create(res); //AddToastMessage("Confirmed", "Booking Confirmed", Toast.ToastType.Success); return(RedirectToAction("AddMenuItems", new { userId = Session[Global.UserIdSessionVar] })); } else { AddToastMessage("No Table", "There are no available tables for the time selected", Toast.ToastType.Info); } } GetTimes(); return(View(booking)); }
public async Task <IActionResult> Book([Bind("Customersid, RoomTypeId, Eta, Qtypersons,Startdate,Enddate,Specialneeds,Extrabed")] BookingVM booking) { if (ModelState.IsValid) { var freeRoomId = _roomService.GetIdOfFreeRoomOfType(booking.RoomTypeId, booking.Startdate, booking.Enddate); if (freeRoomId != 0) { var newBooking = new Booking() { Customersid = booking.Customersid, Qtypersons = booking.Qtypersons, Startdate = booking.Startdate, Enddate = booking.Enddate, Eta = booking.Eta, Specialneeds = booking.Specialneeds, Extrabed = booking.Extrabed }; _context.Bookings.Add(newBooking); await _context.SaveChangesAsync(); var bookingsroom = new Bookingsroom() { Bookingsid = newBooking.Id, Roomsid = freeRoomId }; _context.Bookingsrooms.Add(bookingsroom); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(BookingSuccess))); } } var userEmail = User.FindFirstValue(ClaimTypes.Email); if (userEmail != null) { var customer = _context.Customers.Where(c => c.Email == userEmail).FirstOrDefault(); ViewBag.CustomerFirstName = customer.Firstname; ViewBag.CustomerLastName = customer.Lastname; ViewBag.CustomerId = customer.Id; } ViewData["RoomTypeId"] = new SelectList(_context.Roomtypes, "Id", "Name"); var bookedRooms = _bookingService.GetBookedDates(); ViewBag.SingleFullyBookedDates = bookedRooms.Where(x => x.BookedSingleRooms >= _roomService.GetAmountOfRooms(1)).Select(d => d.Date).ToList(); ViewBag.DoubleFullyBookedDates = bookedRooms.Where(x => x.BookedDoubleRooms >= _roomService.GetAmountOfRooms(2)).Select(d => d.Date).ToList(); ViewBag.TripleFullyBookedDates = bookedRooms.Where(x => x.BookedTripleRooms >= _roomService.GetAmountOfRooms(3)).Select(d => d.Date).ToList(); ViewBag.QuadFullyBookedDates = bookedRooms.Where(x => x.BookedQuadRooms >= _roomService.GetAmountOfRooms(4)).Select(d => d.Date).ToList(); return(View(booking)); }
public static BookingVM MapBooking(Booking entity) { var res = new BookingVM() { BookingId = entity.BookingId, DateEnd = entity.DateEnd, DateStart = entity.DateStart, Description = entity.Description, ResourceId = entity.ResourceId, RoomId = entity.RoomId }; return(res); }
public static Booking MapBookingVM(BookingVM vm) { var res = new Booking() { BookingId = vm.BookingId, DateEnd = vm.DateEnd, DateStart = vm.DateStart, Description = vm.Description, ResourceId = vm.ResourceId, RoomId = vm.RoomId }; return(res); }
public async Task <IActionResult> Save() { DatCho datCho1 = new DatCho(); BookingVM b = HttpContext.Session.GetObject <BookingVM>(SessionManager.Booking); UserLogin currentUser = HttpContext.Session.GetObject <UserLogin>(SessionManager.UserLogin); BookingContactVM Contact = HttpContext.Session.GetObject <BookingContactVM>(SessionManager.BookingContact); datCho1.id_ChiTietChuyenBay = b.VeDi; datCho1.NgayLap = DateTime.Today; datCho1.TinhTrang = false; datCho1.id_KhachHang = currentUser.idUser; datCho1.TenLH = Contact.TenLH; datCho1.HoLH = Contact.HoLH; datCho1.EmailLH = Contact.EmailLH; datCho1.DienThoaiLH = Contact.DienThoaiLH; List <PassengerVM> PassengersList = HttpContext.Session.GetObject <List <PassengerVM> >(SessionManager.PassengerTempList); foreach (PassengerVM item in PassengersList) { datCho1.ChiTietDatCho.Add(new ChiTietDatCho() { TenHk = item.TenHK, HoHk = item.HoHK, DanhXung = item.DanhXung, NgaySinh = item.NgaySinh, id_DatCho = datCho1.id_DatCho }); } datCho1.SoluongDat = PassengersList.Count(); _context.DatCho.Add(datCho1); await _context.SaveChangesAsync(); if (b.VeVe != -1) { DatCho datCho2 = new DatCho(); datCho2.id_ChiTietChuyenBay = b.VeVe; datCho2.NgayLap = DateTime.Today; datCho2.TinhTrang = false; datCho2.id_KhachHang = currentUser.idUser; datCho2.TenLH = Contact.TenLH; datCho2.HoLH = Contact.HoLH; datCho2.EmailLH = Contact.EmailLH; datCho2.DienThoaiLH = Contact.DienThoaiLH; foreach (PassengerVM item in PassengersList) { datCho2.ChiTietDatCho.Add(new ChiTietDatCho() { TenHk = item.TenHK, HoHk = item.HoHK, DanhXung = item.DanhXung, NgaySinh = item.NgaySinh, id_DatCho = datCho1.id_DatCho }); } datCho2.SoluongDat = PassengersList.Count(); } return(RedirectToAction("History", "Customers")); }
// POST: Booking/Edit/5 // To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see https://go.microsoft.com/fwlink/?LinkId=317598. // GET: Booking/Delete/5 public ActionResult Delete(int id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var booking = new BookingVM(_boekingRepository.Get(id)); if (booking == null) { return(HttpNotFound()); } return(View(booking)); }
public IActionResult PreBooking() { #region lay session SearchVM Request = HttpContext.Session.GetObject <SearchVM>(SessionManager.Request); BookingVM b = HttpContext.Session.GetObject <BookingVM>(SessionManager.Booking); #endregion #region tao model PreBookingVM model = new PreBookingVM(); model.Request = Request; model.Tickets.Add(_item.GetItemById(b.VeDi)); FareVM DepartFare = new FareVM(); DepartFare.DanhSach.Add(new Fare() { HanhKhach = "Người lớn", SoLuong = Request.NguoiLon, GiaVe = Request.NguoiLon * _item.GetDiscount(b.VeDi, 1) * model.Tickets[0].Gia }); DepartFare.DanhSach.Add(new Fare() { HanhKhach = "Trẻ em", SoLuong = Request.TreEm, GiaVe = Request.TreEm * _item.GetDiscount(b.VeDi, 2) * model.Tickets[0].Gia }); DepartFare.DanhSach.Add(new Fare() { HanhKhach = "Em bé", SoLuong = Request.EmBe, GiaVe = Request.EmBe * _item.GetDiscount(b.VeDi, 3) * model.Tickets[0].Gia }); model.Fares.Add(DepartFare); model.HanhLyXT.Add((int)_context.ChiTietHangVe.Where(s => s.id_HangVe == Request.HangVe && s.id_HangBay == _item.GetIdHangBay(b.VeDi)).Select(s => s.HanhLyXt).SingleOrDefault()); if (b.VeVe != -1) { model.Tickets.Add(_item.GetItemById(b.VeVe)); FareVM ReturnFare = new FareVM(); DepartFare.DanhSach.Add(new Fare() { HanhKhach = "Người lớn", SoLuong = Request.NguoiLon, GiaVe = Request.NguoiLon * _item.GetDiscount(b.VeVe, 1) * model.Tickets[1].Gia }); DepartFare.DanhSach.Add(new Fare() { HanhKhach = "Trẻ em", SoLuong = Request.TreEm, GiaVe = Request.TreEm * _item.GetDiscount(b.VeVe, 2) * model.Tickets[1].Gia }); DepartFare.DanhSach.Add(new Fare() { HanhKhach = "Em bé", SoLuong = Request.EmBe, GiaVe = Request.EmBe * _item.GetDiscount(b.VeVe, 3) * model.Tickets[1].Gia }); model.Fares.Add(ReturnFare); model.HanhLyXT.Add((int)_context.ChiTietHangVe.Where(s => s.id_HangVe == Request.HangVe && s.id_HangBay == _item.GetIdHangBay(b.VeVe)).Select(s => s.HanhLyXt).SingleOrDefault()); } #endregion return(View(model)); }
private decimal CalculatePrice(BookingVM bookingVM) { var total = new decimal(); foreach (var animal in bookingVM.Booking.Animals) { total += animal.Price; } foreach (var accessoire in bookingVM.Booking.Accessoires) { total += accessoire.Price; } total = total / 100 * (100 - bookingVM.TotalDiscount); return(total); }
public List <BookingVM> FindByProperty(int pages, int rows, CalendarVM searchDate, string search, string orderBy, string status) { int start = (pages - 1) * rows; int length = rows; List <BookingVM> listVM = new List <BookingVM>(); foreach (Booking val in _bookingDALManageFacade.FindBooking(start, length, searchDate, search, orderBy, status)) { BookingVM bookingVm = mapper.Map <BookingVM>(val); bookingVm.Index = ++start; bookingVm.CliCode = val.BookIdclientNavigation.CliCode; bookingVm.UserCode = val.BookIduserNavigation.UserCode; listVM.Add(bookingVm); } return(listVM); }
public IActionResult LastCheck() { LastCheckVM model = new LastCheckVM(); model.Contact = HttpContext.Session.GetObject <BookingContactVM>(SessionManager.BookingContact); model.PassengersList = HttpContext.Session.GetObject <List <PassengerVM> >(SessionManager.PassengerTempList); BookingVM b = HttpContext.Session.GetObject <BookingVM>(SessionManager.Booking); model.Request = HttpContext.Session.GetObject <SearchVM>(SessionManager.Request); model.Tickets.Add(_item.GetItemById(b.VeDi)); if (b.VeVe != -1) { model.Tickets.Add(_item.GetItemById(b.VeVe)); } return(View(model)); }
public ActionResult SecondStep(BookingVM bookingVM) { var tempBooking = (BookingVM)TempData["Booking"]; if (bookingVM.AccessoireIds != null) { foreach (var accessoireId in bookingVM.AccessoireIds) { tempBooking.Booking.Accessoires.Add(AccessoireRepo.GetAccessoire(accessoireId)); } } tempBooking.AccessoireIds = bookingVM.AccessoireIds; TempData["Booking"] = tempBooking; return(RedirectToAction("ThirdStep")); }