Ejemplo n.º 1
0
        public ActionResult Listing(string search, int?accomodationPackageID, int?page)
        {
            page = page ?? 1;
            //viewModel
            var viewModel = new AccomodationListingViewModel();
            //fetching Accomodation Packages
            var accomodation = _service.GetAllAccomodations().Where(x => x.IsActive == true).ToList();

            viewModel.Accomodations = accomodation;


            if (!string.IsNullOrEmpty(search))
            {
                viewModel.Accomodations = viewModel.Accomodations.Where(ap => ap.Name.ToLower().Contains(search.ToLower())).ToList();
            }

            if (accomodationPackageID.HasValue && accomodationPackageID.Value > 0)
            {
                viewModel.Accomodations = viewModel.Accomodations.Where(ap => ap.AccomodationPackageID.Equals(accomodationPackageID.Value)).ToList();
            }

            viewModel.Pager = new PagerViewModel(viewModel.Accomodations.Count, page, 3);

            var skip = (page.Value - 1) * 3;            // 3 is the records to skip..

            viewModel.Accomodations = viewModel.Accomodations.OrderBy(a => a.ID).Skip(skip).Take(3).ToList();

            return(PartialView("_Listing", viewModel));
        }
Ejemplo n.º 2
0
        public JsonResult CheckAvailability(DateTime checkIn, DateTime checkOut, int AccomodationPackageID, string userID)
        {
            var json = new JsonResult();
            //var bookedRooms = new object();
            var accomodationPackage = _serviceAccomodationPackage.GetAccomodationPackageById(AccomodationPackageID);

            var accomodations    = _serviceAccomodation.GetAllAccomodations().Where(x => !x.BookedRooms.Any(r => r.Booking.ToDate >= checkIn && r.Booking.FromDate <= checkOut) && x.IsActive == true && x.AccomodationPackageID == AccomodationPackageID).ToList();
            var cnfrmBookedRooms = accomodations.Select(a => new Accomodations
            {
                ID   = a.ID,
                Name = a.Name + "-" + a.AccomodationPackage.FeePerNight + " AED"
            });
            var Duration    = (checkOut - checkIn).TotalDays;                                //calculating time of stay...
            var totalAmount = accomodationPackage.FeePerNight * Convert.ToDecimal(Duration); //Room Charges..

            if (accomodations.Count != 0 && accomodations != null)
            {
                json.Data = new { Success = true, Accomodations = cnfrmBookedRooms, Total = totalAmount, Duration = Duration, Message = "" };
            }
            else
            {
                json.Data = new { Success = false, Accomodations = cnfrmBookedRooms, Total = 0, Duration = 0, Message = "No rooms found for current Package" };
            }
            return(json);

            //Availabe Rooms.....
        }
Ejemplo n.º 3
0
        public ActionResult GetAccomodation(int?accomodationTypeID, int?accomodationPackageID)
        {
            var accomodationType     = _serviceAccomodationType.GetAccomodationTypeById(accomodationTypeID.Value);
            var accomodationPackages = _serviceAccomodationPackage.GetAllAccomodationPackages().Where(x => x.AccomodationTypeID == accomodationType.ID).ToList();
            var selectedPackageID    = accomodationPackageID.HasValue ? accomodationPackageID.Value : accomodationPackages.First().ID;
            var accomodations        = _serviceAccomodation.GetAllAccomodations().Where(x => x.AccomodationPackageID == selectedPackageID).ToList();

            var viewModel = new AccomodationViewModels()
            {
                AccomodationType              = accomodationType,
                AccomodationPackages          = accomodationPackages,
                SelectedAccomodationPackageID = selectedPackageID,
                Accomodations = accomodations
            };

            return(View(viewModel));
        }