public ActionResult MakeDelivery(int hotelID, PagingParam pagingParam, int productID, int quality) { pagingParam = pagingParam ?? new PagingParam(); var hotel = hotelRepository.GetById(hotelID); var result = hotelService.CanMakeDeliveries(hotel, SessionHelper.CurrentEntity); if (result.IsError) { return(RedirectBackWithError(result)); } int[] availableProducts = { (int)ProductTypeEnum.Fuel, (int)ProductTypeEnum.ConstructionMaterials }; CompanyTypeEnum[] companies = new CompanyTypeEnum[] { CompanyTypeEnum.Manufacturer }; IQueryable <MarketOfferModel> offers = marketOfferRepository.GetAvailableOffers(productID, quality, hotel.Region.Country, companies, availableProducts); if (offers.Count() > 0) { offers = offers.Apply(pagingParam); } var rights = hotelService.GetHotelRigths(hotel, SessionHelper.CurrentEntity); var info = hotelRepository.GetHotelInfo(hotelID, SessionHelper.CurrentEntity.EntityID); var vm = new HotelMakeDeliveryViewModel(info, hotel, rights, offers, pagingParam, quality, productID); return(View(vm)); }