public static PageModel <StoreEntity> SearchPdInStoreList(StoreEntityQuery query)
        {
            PageModel <StoreEntity> pageModel = new PageModel <StoreEntity>();

            if (query.Position.Latitude == 0.0 || query.Position.Longitude == 0.0 || (string.IsNullOrEmpty(query.Key) && query.CategoryId == 0))
            {
                return(pageModel);
            }
            StoreProductDao storeProductDao = new StoreProductDao();

            query.Key = DataHelper.CleanSearchString(query.Key);
            DbQueryResult dbQueryResult = storeProductDao.SearchPdInStoreList(query);
            DataTable     data          = dbQueryResult.Data;

            pageModel.Total = dbQueryResult.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.GetStoreProduct4Search(storeIds, query.Key, query.CategoryId, query.MainCategoryPath, query.ProductType);

            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>());
            });
            pageModel.Models = list;
            return(pageModel);
        }
        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);
        }