/// <summary>
        /// 某人是否拥有了某个标题的文集
        /// </summary>
        /// <param name="title"></param>
        /// <param name="ownerId"></param>
        /// <returns></returns>
        public static bool ExistCollectionByTitle(string title, string ownerId)
        {
            IMongoQuery TitleQuery = Query.EQ(nameof(Title), title);
            var         cnt        = OwnerTableOperator.GetRecListByOwnerId <Collection>(CollectionName, ownerId, TitleQuery).Count;

            return(cnt != 0);
        }
示例#2
0
 /// <summary>
 /// 获得某人的所有的文章
 /// </summary>
 /// <param name="ownerId"></param>
 /// <returns></returns>
 public static List <Article> GetListByOwnerId(string ownerId, bool IsOnlyFirstPage = true)
 {
     if (IsOnlyFirstPage)
     {
         return(OwnerTableOperator.GetRecListByOwnerId <Article>(CollectionName, ownerId, ArticleListManager.FirstPageArticleQuery));
     }
     else
     {
         return(OwnerTableOperator.GetRecListByOwnerId <Article>(CollectionName, ownerId));
     }
 }
示例#3
0
        /// <summary>
        /// 获得用户BODY
        /// </summary>
        /// <param name="accountId"></param>
        /// <returns></returns>
        public static UserBody GetUserBody(string accountId)
        {
            IMongoQuery x     = Query.EQ(nameof(UserBody.AccountId), accountId);
            var         cache = MongoDbRepository.GetFirstCacheRec <UserBody>(x);

            if (cache != null)
            {
                return(cache);
            }
            UserBody u = new UserBody();

            u.AccountId = accountId;
            u.UserInfo  = UserInfo.GetUserInfoBySn(accountId);

            switch (u.UserInfo.RegisterMethod)
            {
            case GithubAccount.Github:
                u.GitInfo = GithubAccount.GetGithubAccountBySn(u.UserInfo.RegisterAccountID);
                break;

            case QQAccount.QQ:
                u.QQInfo = QQAccount.GetQQAccountBySn(u.UserInfo.RegisterAccountID);
                break;

            default:
                break;
            }

            //获得用户文章列表
            u.ArticleList = new List <ArticleItemBody>();
            var alist = Article.GetListByOwnerId(accountId);

            foreach (var item in alist)
            {
                u.ArticleList.Add(ArticleListManager.GetArticleItemBodyById(item.Sn));
            }
            //关注的人
            u.FocusList = new List <UserInfo>();
            var focuslist = Focus.GetFocus(accountId);

            foreach (var item in focuslist)
            {
                u.FocusList.Add(UserInfo.GetUserInfoBySn(item));
            }
            //跟随的人
            u.FollowList = new List <UserInfo>();
            var followlist = Focus.GetFollow(accountId);

            foreach (var item in followlist)
            {
                u.FollowList.Add(UserInfo.GetUserInfoBySn(item));
            }
            //收藏
            u.StockList = new List <ArticleItemBody>();
            var slist = OwnerTableOperator.GetRecListByOwnerId <Stock>(accountId);

            foreach (var item in slist)
            {
                u.StockList.Add(ArticleListManager.GetArticleItemBodyById(item.ArticleID));
            }
            UserBody.InsertUserBody(u);
            return(u);
        }
 /// <summary>
 /// 获得某人文集列表
 /// </summary>
 /// <param name="ownerId"></param>
 /// <returns></returns>
 public static List <Collection> GetCollectionListByOwnerId(string ownerId)
 {
     return(OwnerTableOperator.GetRecListByOwnerId <Collection>(CollectionName, ownerId));
 }
示例#5
0
 /// <summary>
 /// 插入上传文件
 /// </summary>
 /// <param name="Newuploadfile"></param>
 /// <param name="OwnerId"></param>
 /// <returns>序列号</returns>
 public static string InsertUploadFile(UploadFile NewUploadFile, string OwnerId)
 {
     return(OwnerTableOperator.InsertRec(NewUploadFile, OwnerId));
 }
示例#6
0
 /// <summary>
 /// 插入用户动作
 /// </summary>
 /// <param name="Newstock"></param>
 /// <param name="OwnerId"></param>
 /// <returns>序列号</returns>
 public static string InsertStock(Stock NewStock, string OwnerId)
 {
     return(OwnerTableOperator.InsertRec(NewStock, OwnerId));
 }
 /// <summary>
 /// 插入文集
 /// </summary>
 /// <param name="Newcollection"></param>
 /// <param name="OwnerId"></param>
 /// <returns>序列号</returns>
 public static string InsertCollection(Collection NewCollection, string OwnerId)
 {
     return(OwnerTableOperator.InsertRec(NewCollection, OwnerId));
 }
示例#8
0
 /// <summary>
 /// 插入文章MarkDown内容
 /// </summary>
 /// <param name="NewArticleContent"></param>
 /// <param name="OwnerId"></param>
 /// <returns>序列号</returns>
 public static string InsertArticleContent(ArticleContent NewArticleContent, string OwnerId)
 {
     return(OwnerTableOperator.InsertRec(NewArticleContent, OwnerId));
 }
示例#9
0
 /// <summary>
 /// 插入文章
 /// </summary>
 /// <param name="Newarticle"></param>
 /// <param name="OwnerId"></param>
 /// <returns>序列号</returns>
 public static string InsertArticle(Article NewArticle, string OwnerId)
 {
     return(OwnerTableOperator.InsertRec(NewArticle, OwnerId));
 }
示例#10
0
 /// <summary>
 /// 插入用户动作
 /// </summary>
 /// <param name="Newfocus"></param>
 /// <param name="OwnerId"></param>
 /// <returns>序列号</returns>
 public static string InsertFocus(Focus NewFocus, string OwnerId)
 {
     return(OwnerTableOperator.InsertRec(NewFocus, OwnerId));
 }
示例#11
0
 /// <summary>
 /// 插入专题
 /// </summary>
 /// <param name="Newtopic"></param>
 /// <param name="OwnerId"></param>
 /// <returns>序列号</returns>
 public static string InsertTopic(Topic NewTopic, string OwnerId)
 {
     return(OwnerTableOperator.InsertRec(NewTopic, OwnerId));
 }
        public ActionResult CollectionEdit(FormCollection collection)
        {
            if (Session[ConstHelper.Session_USERID] == null)
            {
                return(Redirect("/Home/Index"));
            }
            string     ownerId        = Session[ConstHelper.Session_USERID].ToString();
            string     CollectionId   = Request.QueryString["CollectionId"];
            Collection EditCollection = null;

            EditCollection = new Collection()
            {
                OwnerId       = ownerId,
                Title         = collection[nameof(Collection.Title)].Trim(),
                CustomTagList = collection[nameof(Collection.CustomTagList)].Trim(),
                Description   = collection[nameof(Collection.Description)].Trim(),
                IsSerie       = collection[nameof(Collection.IsSerie)] != null,
            };
            ViewData.Model = EditCollection;
            if (string.IsNullOrEmpty(CollectionId))
            {
                ViewBag.Title = "新建文集";
            }
            else
            {
                ViewBag.Title = "修改文集";
            }
            if (string.IsNullOrEmpty(EditCollection.Description))
            {
                ViewData.ModelState.AddModelError(nameof(Collection.Description), "请填写简介");
                return(View());
            }
            if (EditCollection.Description.Length < 15)
            {
                ViewData.ModelState.AddModelError(nameof(Collection.Description), "简介字数过少");
                return(View());
            }
            EditCollection.TagName = TagUtility.GetTagNameList(EditCollection.Title, EditCollection.CustomTagList);
            if (string.IsNullOrEmpty(CollectionId))
            {
                //新建文集时,不允许设置同名文集
                if (Collection.ExistCollectionByTitle(EditCollection.Title, EditCollection.OwnerId))
                {
                    ViewData.ModelState.AddModelError(nameof(Collection.Title), "文集名称已经存在");
                    return(View());
                }
                ViewBag.Title = "新建文集";
                CollectionId  = OwnerTableOperator.InsertRec(EditCollection, ownerId);
            }
            else
            {
                var OldCollection = Collection.GetCollectionBySn(CollectionId);
                OldCollection.Title         = EditCollection.Title;
                OldCollection.Description   = EditCollection.Description;
                OldCollection.IsSerie       = EditCollection.IsSerie;
                OldCollection.CustomTagList = EditCollection.CustomTagList;

                if (OldCollection.CreateDateTime == System.DateTime.MinValue)
                {
                    //修复以前BUG的问题
                    OldCollection.CreateDateTime = System.DateTime.Now;
                    OldCollection.CreateUser     = MongoDbRepository.UserSystem;
                }
                ViewBag.Title = "修改文集";
                MongoDbRepository.UpdateRec(OldCollection);
            }
            return(Redirect("/PostEdit/PostList?CollectionId=" + CollectionId));
        }
示例#13
0
 /// <summary>
 /// 插入评论
 /// </summary>
 /// <param name="Newcomment"></param>
 /// <param name="OwnerId"></param>
 /// <returns>序列号</returns>
 public static string InsertComment(Comment NewComment, string OwnerId)
 {
     return(OwnerTableOperator.InsertRec(NewComment, OwnerId));
 }