public async Task <IViewComponentResult> InvokeAsync(int hotelRoomtypeId, int hotelId, DateTime checkIn, DateTime checkOut) { RoomSearchViewModel model = null; var Ratings = _context.starRatings; model = new RoomSearchViewModel() { Ratings = Ratings.Select(p => new SelectListItem() { Text = p.StarName, Value = p.StarRatingId.ToString() }).ToList(), hotelRoomTypeId = hotelRoomtypeId, HotelId = hotelId, }; if (checkIn != null && checkOut != null) { model.CheckInDate = checkIn; model.CheckOutDate = checkOut; } return(View(model)); }
public RoomViewModel(IHotelRepository hotelRepository, INotificationService notificationService) : this() { HotelRepository = hotelRepository; NotificationService = notificationService; Messenger.Default.Register <UpdateRoomMessage>(this, x => RoomSearchViewModel = new RoomSearchViewModel(typeof(Room), hotelRepository.Rooms)); RoomSearchViewModel = new RoomSearchViewModel(typeof(Room), hotelRepository.Rooms); }
private void ExecuteShowRoomSearchMenu() { if (CurrentViewModel == RoomSearchViewModel) { return; } RoomSearchViewModel.Initialize(); CurrentViewModel = RoomSearchViewModel; }
public async Task <IViewComponentResult> InvokeAsync(int hotelId, int RoomTypeId , DateTime CheckInDate, DateTime CheckOutDate) { RoomSearchViewModel model = null; model = new RoomSearchViewModel() { HotelId = hotelId, hotelRoomTypeId = RoomTypeId, CheckInDate = CheckInDate, CheckOutDate = CheckOutDate }; return(View(model)); }
public CreateBillViewModel(Reciept reciept, IHotelRepository hotelRepository, INotificationService notificationService) { HotelRepository = hotelRepository; RoomSearchViewModel = new RoomSearchViewModel(typeof(AvailableState), HotelRepository.Rooms); NotificationService = notificationService; Reciept = reciept; Bill = new RoomBill(); BillTypes = new List <string> { "Cleaning Bill", "Food Bill", "Misc Bill", "Room Bill" }; CreateBillCommand = new RelayCommand(ExecuteCreateBill); CancelCommand = new RelayCommand(ExecuteCancel); }
public ManagerMenuViewModel(EquipmentMenuViewModel equipmentMenuViewModel, RenovationMenuViewModel renovationMenuViewModel, ManagerReportMenuViewModel managerReportMenuViewModel, RoomSearchViewModel roomSearchViewModel, DoctorSpecializationsViewModel doctorSpecializationsViewModel) { EquipmentMenuViewModel = equipmentMenuViewModel; RenovationMenuViewModel = renovationMenuViewModel; ManagerReportMenuViewModel = managerReportMenuViewModel; RoomSearchViewModel = roomSearchViewModel; DoctorSpecializationsViewModel = doctorSpecializationsViewModel; MessengerInstance.Register <CurrentUser>(this, message => Manager = message.User as Manager); ShowEquipmentMenu = new RelayCommand(ExecuteShowEquipmentMenu); ShowRenovationMenu = new RelayCommand(ExecuteShowRenovationMenu); ShowDoctorMenu = new RelayCommand(ExecuteShowDoctorMenu); ShowRoomSearchMenu = new RelayCommand(ExecuteShowRoomSearchMenu); ShowReportMenu = new RelayCommand(ExecuteShowReportMenu); ExecuteShowRenovationMenu(); }
public CreateRecieptViewModel(int guestId, IHotelRepository hotelRepository, INotificationService notificationService) { HotelRepository = hotelRepository; NotificationService = notificationService; Guest = HotelRepository.Guests.Get(guestId); DisplayTitle = "Check Inn " + Guest.FullName; AcceptTitle = "Check Inn"; Reciept = new Reciept(); CreateRecieptCommand = new RelayCommand(ExecuteCreateReciept); GoBackCommand = new RelayCommand(ExecuteGoBack); RoomSearchViewModel = new RoomSearchViewModel(typeof(AvailableState), HotelRepository.Rooms); }
public IActionResult Index(RoomSearchViewModel model) { List <HotelRoom> HotelRooms = new List <HotelRoom>(); List <AvailbleRoomsViewModel> List = new List <AvailbleRoomsViewModel>(); AvailbleRoomsViewModel roomModel = null; //Filter RoomBy Parice and ReviewStar if (model.Price > 0 && model.StarRatingId > 0) { HotelRooms = _filterRoomsByPriceAndRating. GetRoomsByPriceAndRating(model.HotelId, model.hotelRoomTypeId, model.Price, model.StarRatingId, model.CheckInDate, model.CheckOutDate); } //Filter Room By HotelId else if (model.Price == 0 && model.StarRatingId == 0) { HotelRooms = _filterRoomsByHotelId.GetRoomsByHotelId(model.HotelId, model.hotelRoomTypeId , model.CheckInDate, model.CheckOutDate); } //Filter Room By price else if (model.Price > 0 && model.StarRatingId == 0) { HotelRooms = _filterRoomsByPrice.GetRoomsByPrice(model.HotelId, model.hotelRoomTypeId, model.Price, model.CheckInDate, model.CheckOutDate); } //Filter Room By Review Rating else if (model.Price == 0 && model.StarRatingId > 0) { HotelRooms = _filterRoomsByRating. GetRoomsByRating(model.HotelId, model.hotelRoomTypeId, model.StarRatingId, model.CheckInDate, model.CheckOutDate); } foreach (var room in HotelRooms) { var roomreview = _context.roomReviews.Include(p => p.hotelRoom). Where(p => p.hotelRoom.HotelRoomId == room.HotelRoomId).ToList(); var roomfacilities = _context.RoomFacilities.Include(p => p.HotelRoom). FirstOrDefault(p => p.HotelRoom.HotelRoomId == room.HotelRoomId); if (roomreview != null) { for (int review = 0; review < roomreview.Count; review++) { TotalStar = TotalStar + roomreview[review].ReviewStar; } AverageStar = TotalStar / roomreview.Count; } roomModel = new AvailbleRoomsViewModel() { RoomId = room.HotelRoomId, RoomNo = room.RoomNo, RoomType = room.HotelRoomType.RoomType, HotelName = room.Hotel.HotelName, HotelId = room.Hotel.HotelId, RoomName = room.RoomName, City = room.Hotel.HotelCity, RsperNight = room.RsPernight, RoomImage = room.RoomImage, AverageStar = AverageStar, totalReview = roomreview.Count, hotelRoomTypeid = room.HotelRoomType.HotelRoomTypeId, CheckIn = model.CheckInDate, CheckOut = model.CheckOutDate }; List.Add(roomModel); TotalStar = 0; AverageStar = 0; } return(View(List)); }
public IActionResult Search(RoomSearchViewModel model) { List <Room> updatedRooms = new List <Room>(); foreach (var room in context.Rooms) { room.IsFree = true; foreach (var reservation in context.Reservations) { if (reservation.Room.Id == room.Id && reservation.CheckInDate <= DateTime.Now && DateTime.Now <= reservation.CheckOutDate) { room.IsFree = false; break; } } updatedRooms.Add(room); } foreach (var room in updatedRooms) { context.Update(room); } context.SaveChanges(); if (model.SearchBy == "Capacity") { model.Rooms = context.Rooms.Where(u => u.Capacity == int.Parse(model.Value)) .ToList() .OrderBy(u => u.Number) .ThenBy(u => u.Type) .Select(u => new RoomViewModel() { Id = u.Id, Capacity = u.Capacity, Number = u.Number, IsFree = u.IsFree, Type = u.Type }) .ToList(); } else if (model.SearchBy == "Type") { model.Rooms = context.Rooms.Where(u => u.Type == (RoomType)int.Parse(model.Value)) .ToList() .OrderBy(u => u.Number) .ThenBy(u => u.Type) .Select(u => new RoomViewModel() { Id = u.Id, Capacity = u.Capacity, Number = u.Number, IsFree = u.IsFree, Type = u.Type }) .ToList(); } else if (model.SearchBy == "IsFree") { bool isFree = (model.Value == "Free"); model.Rooms = context.Rooms.Where(u => u.IsFree == isFree) .ToList() .OrderBy(u => u.Number) .ThenBy(u => u.Type) .Select(u => new RoomViewModel() { Id = u.Id, Capacity = u.Capacity, Number = u.Number, IsFree = u.IsFree, Type = u.Type }) .ToList(); } else { model.Rooms = context.Rooms .OrderBy(u => u.Number) .ThenBy(u => u.Type) .Select(u => new RoomViewModel() { Id = u.Id, Capacity = u.Capacity, Number = u.Number, IsFree = u.IsFree, Type = u.Type }) .ToList(); } return(View(model)); }