/// <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); }
/// <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); }
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); }
/// <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); }