public static PageModel <StoreEntity> GetStoreRecommend(StoreEntityQuery query) { PageModel <StoreEntity> pageModel = new PageModel <StoreEntity>(); if (query.Position.Latitude == 0.0 || query.Position.Longitude == 0.0) { return(pageModel); } StoreProductDao storeProductDao = new StoreProductDao(); DbQueryResult storeRecommend = storeProductDao.GetStoreRecommend(query); DataTable data = storeRecommend.Data; pageModel.Total = storeRecommend.TotalRecords; string tempAllRegions = default(string); string storeIds = default(string); List <StoreEntity> list = StoreListHelper.AdapterDs2Store(data, out tempAllRegions, out storeIds); Dictionary <string, string> regionDic = RegionHelper.GetRegionName(tempAllRegions); Dictionary <int, List <StoreProductEntity> > pdRecommDic = StoreListHelper.GetStoreProductRecommend(storeIds, query.ProductType); MemberInfo memberInfo = null; int gradeId = 0; if (HiContext.Current != null && HiContext.Current.UserId > 0) { memberInfo = HiContext.Current.User; } if (memberInfo != null) { gradeId = memberInfo.GradeId; } Dictionary <int, List <StoreActivityEntity> > activitityDic = PromoteHelper.GetStoreActivityEntity(storeIds, gradeId); list.ForEach(delegate(StoreEntity item) { item.AddressSimply = StoreListHelper.ProcessAddress(regionDic, item.FullRegionPath, item.Address); item.ProductList = (pdRecommDic.ContainsKey(item.StoreId) ? pdRecommDic[item.StoreId] : new List <StoreProductEntity>()); item.Activity = PromoteHelper.ProcessActivity(activitityDic, item.StoreId); item.StoreImages = Globals.FullPath(item.StoreImages.Split(',')[0]); }); pageModel.Models = list; return(pageModel); }