//[OutputCache(Duration = 600, VaryByParam = "id")] public ActionResult City(string id, ShoppingCart cart, BrowseHistory bh) { ViewBag.bagitems = GetCartItems(cart); ViewBag.delivery = bh.IsDelivery; string ct = string.IsNullOrEmpty(id) ? string.Empty : DecodeString(id); CityModel cm = new CityModel(); cm.CityName = ct; cm.YelpTops = new List <TopYelpModel>(); if ((HttpContext.Cache["CityTops_" + id] != null)) { cm.YelpTops = (List <TopYelpModel>)HttpContext.Cache["CityTops_" + id]; } else { List <BizInfo> lbi = BizInfoRepository.GetBizInfoByCity(ct, true); YelpReviewModel yrm = new YelpReviewModel(); foreach (var b in lbi) { yrm = YelpBizDetails.GetYelpBiz(b); if (string.IsNullOrEmpty(b.YelpBizId) == false) { cm.YelpTops.Add(new TopYelpModel() { Biz = b, Yelp = yrm }); } } cm.YelpTops = cm.YelpTops.OrderByDescending(e => e.Yelp.Biz.rating).Take(3).ToList(); HttpContext.Cache.Insert("CityTops_" + id, cm.YelpTops); } //cm.BizInfos = BizInfoRepository.GetTopnTopRatedBizInfosInCity(3, ct, true); cm.NewBiz = BizInfoRepository.GetLastnNewBizInfosByCity(4, ct, true); StringBuilder sb = new StringBuilder(); sb.Append("["); foreach (var b in cm.YelpTops) { sb.Append("["); sb.Append("'" + b.Biz.BizTitle + "',"); sb.Append("'" + b.Biz.Address.AddressLine + "',"); sb.Append("'" + b.Biz.Address.City + "',"); sb.Append("'" + b.Biz.Address.State + "',"); sb.Append("'" + b.Biz.Address.ZipCode + "',"); sb.Append("'" + b.Biz.Latitude + "',"); sb.Append("'" + b.Biz.Longitude + "',"); sb.Append("'" + b.Biz.BizInfoId + "',"); sb.Append("'" + b.Biz.ImageUrl + "'],"); } if (cm.YelpTops.Count > 0) { sb.Remove(sb.Length - 1, 1); } sb.Append("]"); cm.MapMarkers = sb.ToString(); cm.BizInfo = BizInfoRepository.GetBizInfoByCity(ct, true).FirstOrDefault(); cm.ShowCuisines = AllCuisinesView.ShowCuisinesView_Bootatrap(BizCuisineRepository.GetBizCuisinesByCity(true, ct), ct, null); cm.ShowZipcodes = AllZopCodesView.ShowZipCodesView_Bootstarp(BizInfoRepository.GetBizInfoByCity(ct, true), ct, null); cm.CuisinesInCity = BizInfoRepository.GetCuisinesInCity(ct); cm.ZipsInCity = BizInfoRepository.GetZipsInCity(ct); return(View(cm)); }
public ActionResult Index(string city, string zip, ShoppingCart cart, BrowseHistory bh) { if (string.IsNullOrEmpty(city) && string.IsNullOrEmpty(zip)) { return(RedirectToAction("Index", "AllCities")); } ViewBag.delivery = bh.IsDelivery; BizInfoModel bim = new BizInfoModel(); string ct = string.IsNullOrEmpty(city)?string.Empty : DecodeString(city); bim.CityName = ct; bim.ZipCode = zip; bim.BizInfos = BizInfoRepository.GetBizInfoByZip(zip, true); bim.YelpTops = new List <TopYelpModel>(); if ((HttpContext.Cache["CityZip" + ct + zip] != null)) { bim.YelpTops = (List <TopYelpModel>)HttpContext.Cache["CityZip" + ct + zip]; } else { YelpReviewModel yrm = new YelpReviewModel(); foreach (var b in bim.BizInfos) { yrm = YelpBizDetails.GetYelpBiz(b); if (string.IsNullOrEmpty(b.YelpBizId) == false) { bim.YelpTops.Add(new TopYelpModel() { Biz = b, Yelp = yrm }); } } bim.YelpTops = bim.YelpTops.OrderByDescending(e => e.Yelp.Biz.rating).Take(3).ToList(); HttpContext.Cache.Insert("CityZip" + ct + zip, bim.YelpTops); } // bim.TopRatedBizInfos = BizInfoRepository.GetTopnTopRatedBizInfosInzip(3, zip, true); bim.BizInfo = bim.BizInfos.FirstOrDefault(); bim.NewBiz = BizInfoRepository.GetLastnNewBizInfosByZip(4, zip, true); bim.ShowCuisines = AllCuisinesView.ShowCuisinesView_Bootatrap(BizCuisineRepository.GetBizCuisinesByZip(true, zip), ct, zip); StringBuilder sb = new StringBuilder(); sb.Append("["); foreach (var b in bim.YelpTops) { sb.Append("["); sb.Append("'" + b.Biz.BizTitle + "',"); sb.Append("'" + b.Biz.Address.AddressLine + "',"); sb.Append("'" + b.Biz.Address.City + "',"); sb.Append("'" + b.Biz.Address.State + "',"); sb.Append("'" + b.Biz.Address.ZipCode + "',"); sb.Append("'" + b.Biz.Latitude + "',"); sb.Append("'" + b.Biz.Longitude + "',"); sb.Append("'" + b.Biz.BizInfoId + "',"); sb.Append("'" + b.Biz.ImageUrl + "'],"); } if (bim.YelpTops.Count > 0) { sb.Remove(sb.Length - 1, 1); } sb.Append("]"); bim.MapMarkers = sb.ToString(); bim.CuisinesInZip = BizInfoRepository.GetCuisinesInZip(zip); ViewBag.bagitems = GetCartItems(cart); return(View(bim)); }
public ActionResult FilterUpdate(string schedule, string time, string cuisine, string min, string dist, string rating, string freeDelivery, string breakfast, string lunchSpecial, string coupons, string freeItems, BrowseHistory bh) { string timeout = "timein"; if (bh.FilterSet == null) { timeout = "timeout"; return(Json(new { timeexp = timeout })); } List <BizInfo> openset = new List <BizInfo>(); List <BizInfo> closeset = new List <BizInfo>(); List <BizInfo> hiddenset = new List <BizInfo>(); int[] filterOn = { }; int[] filterOff = { }; int[] filterOpen = { }; string[] localOn = { }; string[] localOff = { }; string[] localOpen = { }; List <int> ltOn = new List <int>(); List <int> ltOpen = new List <int>(); List <int> ltOff = new List <int>(); List <string> ltLocalOn = new List <string>(); List <string> ltLocalOpen = new List <string>(); List <string> ltLocalOff = new List <string>(); int closeCount = 0; YelpReviewModel yrm = new YelpReviewModel(); foreach (var p in bh.FilterSet) { string tm = SearchFilter.ConvertLocalToMyTime(p.BizHour.BizTimeZoneName).ToString(); yrm = YelpBizDetails.GetYelpBiz(p); bool yrating = string.IsNullOrEmpty(rating)?true: int.Parse(rating) <= 0 ? true : yrm.Biz == null?p.AverageRating >= decimal.Parse(rating):yrm.Biz.rating >= double.Parse(rating); if (SearchFilter.ItemFilter(p, schedule, time, cuisine, min, dist, yrating, freeDelivery, breakfast, lunchSpecial, coupons, freeItems, bh)) { ltOn.Add(p.BizInfoId); ltLocalOn.Add(tm); if (p.IsOpenNow) { openset.Add(p); ltOpen.Add(p.BizInfoId); ltLocalOpen.Add(tm); } else { closeset.Add(p); closeCount++; } } else { hiddenset.Add(p); ltOff.Add(p.BizInfoId); ltLocalOff.Add(tm); } } bh.FilterOpenSet = openset; bh.FilterCloseSet = closeset; bh.FilterHiddenSet = hiddenset; filterOn = ltOn.ToArray(); filterOpen = ltOpen.ToArray(); filterOff = ltOff.ToArray(); localOn = ltLocalOn.ToArray(); localOff = ltLocalOff.ToArray(); localOpen = ltLocalOpen.ToArray(); return(Json(new { timeexp = timeout, featherOn = filterOn, featherOnCount = filterOn.Count().ToString(), featherCloseCount = closeCount, featherOpen = filterOpen, featherOpenCount = filterOpen.Count().ToString(), featherOff = filterOff, featherOffCount = filterOff.Count().ToString(), localOn = localOn, localOff = localOff, localOpen = localOpen })); // return Json(new { sch = schedule, dlvtime = time, mini = min, distc = dist, rate = rating, re1 = freeDelivery, re2 = breakfast, re3 = lunchSpecial, re4 = coupons, re5 = freeItems }); }