/// <summary>
        /// 根据<paramref name="query"/>查询动态信息
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public static PagingDataSet <UserActivity> GetUserActivities(UserActivityQuery query)
        {
            PagingDataSet <UserActivity> activities = null;
            string cacheKey = CacheKeyManager.GetUserActivityQueryKey(query);

            //从缓存读取
            if (HttpContext.Current != null)
            {
                activities = HttpContext.Current.Items[cacheKey] as PagingDataSet <UserActivity>;
            }

            if (activities != null)
            {
                return(activities);
            }

            activities = HHCache.Instance.Get(cacheKey) as PagingDataSet <UserActivity>;

            if (activities == null)
            {
                int totalRecods;
                List <UserActivity> activityList = CommonDataProvider.Instance.GetUserActivities(query, out totalRecods);
                activities              = new PagingDataSet <UserActivity>();
                activities.Records      = activityList;
                activities.TotalRecords = totalRecods;

                HHCache.Instance.Insert(cacheKey, activities, 1);
                if (HttpContext.Current != null)
                {
                    HttpContext.Current.Items[cacheKey] = activities;
                }
            }
            return(activities);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获取Query获取收藏列表
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public static PagingDataSet <Favorite> GetFavorites(FavoriteQuery query)
        {
            PagingDataSet <Favorite> favorites = null;
            string cacheKey = CacheKeyManager.GetFavoriteQueryKey(query);

            if (HttpContext.Current != null)
            {
                favorites = HttpContext.Current.Items[cacheKey] as PagingDataSet <Favorite>;
            }
            if (favorites != null)
            {
                return(favorites);
            }

            favorites = HHCache.Instance.Get(cacheKey) as PagingDataSet <Favorite>;
            if (favorites == null)
            {
                int totalRecods;
                favorites = new PagingDataSet <Favorite>();
                List <Favorite> favoriteList = CommonDataProvider.Instance.GetFavorites(query, out totalRecods);
                favorites.Records      = favoriteList;
                favorites.TotalRecords = totalRecods;
                if (HttpContext.Current != null)
                {
                    HttpContext.Current.Items[cacheKey] = favorites;
                }
                HHCache.Instance.Insert(cacheKey, favorites);
            }
            return(favorites);
        }
Ejemplo n.º 3
0
        public static PagingDataSet <User> GetUsers(UserQuery query, bool cacheable)
        {
            PagingDataSet <User> users = null;
            string usersKey            = CacheKeyManager.GetUserQueryKey(query);

            //从缓存读取
            if (HttpContext.Current != null)
            {
                users = HttpContext.Current.Items[usersKey] as PagingDataSet <User>;
            }

            if (users != null)
            {
                return(users);
            }

            if (cacheable)
            {
                users = HHCache.Instance.Get(usersKey) as PagingDataSet <User>;
            }

            if (users == null)
            {
                int         totalRecods;
                List <User> userList = CommonDataProvider.Instance.GetUsers(query, out totalRecods);
                users              = new PagingDataSet <User>();
                users.Records      = userList;
                users.TotalRecords = totalRecods;

                //缓存
                if (cacheable)
                {
                    HHCache.Instance.Insert(usersKey, users, 1);
                    AddCachedUser(userList);
                }
                if (HttpContext.Current != null)
                {
                    HttpContext.Current.Items[usersKey] = users;
                }
            }
            return(users);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 获取用户信息
        /// </summary>
        /// <param name="authenticationOption"></param>
        /// <param name="userInactiveSinceDate"></param>
        /// <param name="userName">不为空时按UserName模糊搜索,为空时不判断UserName(获取所有)</param>
        /// <param name="totalCount"></param>
        /// <returns></returns>
        public static List <User> GetProfiles(ProfileAuthenticationOption authenticationOption, DateTime userInactiveSinceDate, string userName, out int totalCount)
        {
            UserQuery userQuery = new UserQuery();

            userQuery.InactiveSinceDate = userInactiveSinceDate;
            switch (authenticationOption)
            {
            case ProfileAuthenticationOption.Anonymous:
                userQuery.AccountStatus = AccountStatus.Anonymous;
                break;

            case ProfileAuthenticationOption.Authenticated:
                userQuery.AccountStatus = AccountStatus.Authenticated;
                break;

            case ProfileAuthenticationOption.All:
                userQuery.AccountStatus = AccountStatus.All;
                break;

            default:
                userQuery.AccountStatus = AccountStatus.All;
                break;
            }

            if (!GlobalSettings.IsNullOrEmpty(userName))
            {
                userQuery.LoginNameFilter = userName;
            }

            userQuery.PageSize = Int32.MaxValue;

            PagingDataSet <User> pgUsers = GetUsers(userQuery);

            totalCount = pgUsers.TotalRecords;
            List <User> lstUsers = pgUsers.Records;

            return(lstUsers);
        }