public async Task<ActionResult> Search(string filterSearch, string currentFilter, string Sr, string propertyView, int? page)
        {
            ViewBag.CurrentSearch = filterSearch;
            ViewBag.CurrentView = propertyView;

            // Biddings Pagination
            if (Sr != null)
            {
                page = 1;
            }
            else
            {
                Sr = currentFilter;
            }

            ViewBag.CurrentFilter = Sr;

            SearchBiddingsPropertyPhViewModel viewModel = new SearchBiddingsPropertyPhViewModel();

            IEnumerable<Property> allProperties = null;
            IEnumerable<Bidding> allBiddings = null;
            if ((!String.IsNullOrEmpty(Sr) && filterSearch == "Properties") || (!String.IsNullOrEmpty(Sr) && filterSearch == null))
            {
                allProperties = await db.Properties.Where(p => p.Availability.ToString().Contains("Yes")).OrderByDescending(p => p.Id).ToListAsync();
                allProperties = allProperties.Where(p => p.Id.ToString().Contains(Sr.ToUpper()) || p.Title.ToUpper().Contains(Sr.ToUpper()) || p.Agent.FullName.ToUpper().Contains(Sr.ToUpper()) );
                List<HomePropertyPhotoViewModel> allPropertyPhoto = new List<HomePropertyPhotoViewModel>();
                foreach (var property in allProperties)
                {
                    HomePropertyPhotoViewModel model = new HomePropertyPhotoViewModel();
                    model.Property = property;
                    model.Photo = await db.Photos.Where(ph => ph.PropertyId == property.Id).OrderBy(ph => ph.Id).Take(1).SingleOrDefaultAsync();
                    //model.Products = db.Photos.Where(ph => ph.PropertyID == property.ID).ToList();
                    allPropertyPhoto.Add(model);
                }

                int pageSize = 12;
                int pageNumber = (page ?? 1);
                viewModel.PropertyPhotoPaged = allPropertyPhoto.ToPagedList(pageNumber, pageSize);
            }
            else if (Sr != null && filterSearch == "Biddings" )
            {
                allBiddings = await db.Biddings.OrderByDescending(b => b.Id).ToListAsync();
                allBiddings = allBiddings.Where(b => b.Id.ToString().Contains(Sr.ToUpper()) || b.Title.ToUpper().Contains(Sr.ToUpper()) || b.Property.Agent.FullName.ToUpper().Contains(Sr.ToUpper()));

                List<BiddingsPhotoViewModel> allBiddingPhoto = new List<BiddingsPhotoViewModel>();
                foreach (var bidding in allBiddings)
                {
                    BiddingsPhotoViewModel model = new BiddingsPhotoViewModel();
                    model.Bidding = bidding;
                    model.Property = bidding.Property;
                    model.Photo = await db.Photos.Where(ph => ph.PropertyId == model.Property.Id).OrderBy(ph => ph.Id).Take(1).SingleOrDefaultAsync();
                    //model.Products = db.Photos.Where(ph => ph.PropertyID == property.ID).ToList();
                    allBiddingPhoto.Add(model);
                }

                int pageSize = 12;
                int pageNumber = (page ?? 1);
                viewModel.BiddingsPhotoPaged = allBiddingPhoto.ToPagedList(pageNumber, pageSize);
            }
            else
            {
                ViewBag.CurrentSearch = "Properties";
            }

            

            return View(viewModel);
        }