Esempio n. 1
0
        private string GetFavoriteTypeDiscriminatorValue(FavoriteTypeEnum favoriteType)
        {
            switch (favoriteType)
            {
            case FavoriteTypeEnum.Project:
                return("Project");

            case FavoriteTypeEnum.Snapshot:
                return("Snapshot");

            case FavoriteTypeEnum.Category:
                return("Category");

            case FavoriteTypeEnum.Headword:
                return("Headword");

            case FavoriteTypeEnum.Page:
                return("Page");

            case FavoriteTypeEnum.Query:
                return("Query");

            default:
                return(null);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 通过手机号获取收藏关系集合
        /// </summary>
        /// <param name="phone"></param>
        /// <param name="favoritetype"></param>
        /// <returns></returns>
        public IList <FavoriteInfo> GetFavoriteByPhone(long phone, FavoriteTypeEnum favoritetype)
        {
            if (phone == 0)
            {
                throw new ArgumentOutOfRangeException("Favorite's phone can not be zero!");
            }

            IList <FavoriteInfo> result = new List <FavoriteInfo>();

            string         key  = string.Format("DB_FA_{0}_*_{1}", phone, favoritetype == FavoriteTypeEnum.所有类型 ? "*" : favoritetype.GetHashCode().ToString());
            IList <string> keys = Session.Current.ScanAllKeys(key);

            if (keys != null && keys.Count > 0)
            {
                foreach (string k in keys)
                {
                    result.Add(Session.Current.Get <FavoriteInfo>(k));
                }
            }
            else
            {
                //从数据库拿取
                result = DBConnectionManager.Instance.Reader.Select <FavoriteInfo>(new FavoriteSelectSpefication(phone, favoritetype).Satifasy());
                if (result != null && result.Count > 0)
                {
                    foreach (FavoriteInfo item in result)
                    {
                        //同步到缓存
                        Session.Current.Set(item.GetKeyName(), item);
                        Session.Current.Expire(item.GetKeyName(), ExpireTime);
                    }
                }
            }
            return(result);
        }
Esempio n. 3
0
        private string GetFavoriteTypeDiscriminatorValue(FavoriteTypeEnum favoriteType)
        {
            switch (favoriteType)
            {
            case FavoriteTypeEnum.Book:
                return("Book");

            case FavoriteTypeEnum.BookVersion:
                return("BookVersion");

            case FavoriteTypeEnum.Category:
                return("Category");

            case FavoriteTypeEnum.HeadwordBookmark:
                return("HeadwordBookmark");

            case FavoriteTypeEnum.PageBookmark:
                return("PageBookmark");

            case FavoriteTypeEnum.Query:
                return("Query");

            default:
                return(null);
            }
        }
 /// <summary>
 /// 收藏选择规约
 /// </summary>
 /// <param name="phone">收藏手机号码</param>
 /// <param name="type">收藏类型</param>
 public FavoriteSelectSpefication(long phone, FavoriteTypeEnum type)
 {
     _phone = phone;
     _type  = type;
 }