public IActionResult Hotelreservtion(RoomReservationViewModel model) { int totalPaymentAmount = 0; if (!ModelState.IsValid) { } if (model.ChkIndate == null && model.ChkOutdate == null) { } TimeSpan difference = model.ChkOutdate.Date - model.ChkIndate.Date; var room = _context.hotelRooms.FirstOrDefault(p => p.HotelRoomId == model.RoomId); RoomReservation reservation = new RoomReservation() { UserName = model.UserName, ChkIndate = model.ChkIndate, ChkOutdate = model.ChkOutdate, Email = model.Email, Cnic = model.Cnic, PhoneNo = model.PhoneNo, Address = model.Address, Hotelroom = room, UserCity = model.UserCity, ZipCode = model.ZipCode, NoOfNight = difference.Days }; _context.Add(reservation); if (_context.SaveChanges() > 0) { int id = 0; var Res = _context.roomReservations.Include(p => p.Hotelroom) .Include(p => p.Hotelroom.Hotel) .FirstOrDefault(p => p.IsActive == false && p.PhoneNo == model.PhoneNo && p.UserCity == model.UserCity && p.UserName == model.UserName && p.Cnic == model.Cnic && p.Email == model.Email); //_emailSender.SendEmailAsync(Res.Email, $"Reservation", // $" Your Reservation Completed Successfuly for Hotel {Res.Hotelroom.Hotel.HotelName} Room {Res.Hotelroom.RoomName} Now Contiue with Payment"); _smsSender.SendSmsAsync(Res.PhoneNo, $"(From Hotel Network)" + $"Your Reservation Completed Successfuly for (Hotel) :: {Res.Hotelroom.Hotel.HotelName} (Room) :: {Res.Hotelroom.RoomName} ... Now Proccessed further with Payment"); if (Res == null) { } id = Res.RoomReservationId; return(RedirectToAction("Payment", "HotelPayment", new { id = id })); } return(View()); }
public async Task <IViewComponentResult> InvokeAsync(int roomId , DateTime CheckInDate, DateTime CheckOutDate) { RoomReservationViewModel model = new RoomReservationViewModel() { RoomId = roomId, ChkIndate = CheckInDate, ChkOutdate = CheckOutDate }; return(View(model)); }
public IActionResult Hotelreservtion(RoomReservationViewModel mOdel, int no) { int totalstar = 0; int averagestar = 0; if (mOdel == null) { return(null); } var room = _context.hotelRooms.Include(p => p.Hotel) .FirstOrDefault(p => p.HotelRoomId == mOdel.RoomId); if (room == null) { } var hotel = _context.hotels.FirstOrDefault(p => p.HotelId == room.Hotel.HotelId); var hotelreviews = _context.hotelReviews.Include(p => p.hotel). Where(p => p.hotel.HotelId == hotel.HotelId).ToList(); if (hotelreviews != null) { for (int review = 0; review < hotelreviews.Count; review++) { totalstar = totalstar + hotelreviews[review].ReviewStar; } averagestar = totalstar / hotelreviews.Count; } if (hotel == null) { } RoomReservationViewModel model = new RoomReservationViewModel() { RoomId = room.HotelRoomId, HotelId = hotel.HotelId, Price = room.RsPernight, Roomname = room.RoomName, HotelCity = hotel.HotelCity, HotelName = hotel.HotelName, HotelAddress = hotel.Address, HotelStar = averagestar, ChkIndate = mOdel.ChkIndate, ChkOutdate = mOdel.ChkOutdate }; return(View(model)); }
/// <summary> /// /// </summary> /// <param name="id"></param> /// <returns></returns> public ActionResult Reservation(Guid id) { var logger = LogManager.GetLogger("Reservation"); var room = Db.Rooms.SingleOrDefault(r => r.Id == id); var model = new RoomReservationViewModel(); if (room != null) { logger.InfoFormat("Reservation requested for {0}", room.Number); model.Room = room; // Alle Belegungen, die heute stattfinden und deren Ende nach dem aktuellen Zeitpunkt liegen model.CurrentDates = room.Dates.Where(d => d.End >= DateTime.Now && d.End <= DateTime.Today.AddDays(1) && !d.Occurrence.IsCanceled) .OrderBy(d => d.Begin).ToList(); var nextDate = model.CurrentDates.FirstOrDefault(); if (nextDate != null) { if (DateTime.Now <= nextDate.End) { model.CurrentDate = nextDate; } else { model.NextDate = nextDate; } } } else { model.Message = "Unbekannter Raum"; logger.ErrorFormat("Reservation requested for unknown id {0}", id); } return(View(model)); }