public ActionResult SearchAccomodation(SearchAccomodationViewModel model, bool tableview = false) { ViewBag.view = tableview; //HomeViewModel model = new HomeViewModel(); List <AccomodationPackageCountViewModel> accomodationPackageCountViewModels = new List <AccomodationPackageCountViewModel>(); model.AccomodationTypes = accomodationTypesService.GetAllAccomodationTypes().ToList(); var accomodationPacakges = accomodationService.CheckAccomodationsAvailability(null, model.CheckIn, model.CheckOut); foreach (var item in accomodationPacakges.DistinctBy(a => a.AccomodationPackage.Id)) { //var count = accomodationService.CountAccomodationByPackage(item.AccomodationPackage.Id); var count = accomodationPacakges.Count(b => b.AccomodationPackage.Id == item.AccomodationPackage.Id); if (count > 0) { AccomodationPackageCountViewModel obj = new AccomodationPackageCountViewModel(); obj.AccomodationPackages = item.AccomodationPackage; obj.RoomCount = count; accomodationPackageCountViewModels.Add(obj); } } model.AccomodationPackageCountViewModels = accomodationPackageCountViewModels; return(View(model)); }
public ActionResult CheckAccomodationAvailability(CheckAccomodationAvailabilityViewModel model, bool tableview = false) { ViewBag.view = tableview; List <AccomodationPackageCountViewModel> accomodationPackageCountViewModels = new List <AccomodationPackageCountViewModel>(); //var accomodations = accomodationService.SearchAccomodationsAvailability(model.AccomodationType); var accomodationPacakges = accomodationService.CheckAccomodationsAvailability(null, model.CheckIn, model.CheckOut, model.AccomodationType); foreach (var item in accomodationPacakges.DistinctBy(a => a.AccomodationPackage.Id)) { //var count = accomodationService.CountAccomodationByPackage(item.AccomodationPackage.Id); var count = accomodationPacakges.Count(b => b.AccomodationPackage.Id == item.AccomodationPackage.Id); if (count > 0) { AccomodationPackageCountViewModel obj = new AccomodationPackageCountViewModel(); obj.AccomodationPackages = item.AccomodationPackage; obj.RoomCount = count; accomodationPackageCountViewModels.Add(obj); } } return(View("_CheckAccomodationAvailability", accomodationPackageCountViewModels)); }