Пример #1
0
        public object RemoveNote(string id)
        {
            var query = CONST.DB.MongoDBFilterCreator_ByObjectId(id);
            var res   = DocManager.GetInstance().Remove(query);

            return(res);
        }
Пример #2
0
        /// <summary>
        /// 如果是删除 目录 ,查找该目录的所有子目录,查找所有的文件
        /// 若是删除文档,则直接删除
        /// </summary>
        /// <returns></returns>
        public List <DBItem> FindTarget(string dbName, string collectionName, string id)
        {
            List <DBItem> list = new List <DBItem>();
            var           db   = DataStorage.GetInstance(DBType.MongoDB);

            if (collectionName == CONST.DB.CollectionName_CategoryItem)
            {
                var categoryList = CategoryManager.GetInstance().GetSubCategory(id);
                categoryList.Add(CategoryItem.Load(id));
                foreach (var category in categoryList)
                {
                    var dbItem1 = DBItem.Create(CONST.DB.DBName_DocService, CONST.DB.CollectionName_CategoryItem, category.id);
                    list.Add(dbItem1);
                    var docList = DocManager.GetInstance().Find("{'CategoryID':'" + dbItem1.ID + "'}", "{}", "{}", 0, int.MaxValue);
                    foreach (var doc in docList)
                    {
                        var dbItem2 = DBItem.Create(CONST.DB.DBName_DocService, CONST.DB.CollectionName_DocItem, doc.ID);
                        list.Add(dbItem2);
                    }
                }
            }
            else
            {
                list.Add(DBItem.Create(dbName, collectionName, id));
            }
            return(list);
        }
Пример #3
0
        public int Add(string content, string targetId, string mode)
        {
            var currentUser = SESSION.Current;
            var inst        = new CommentItem();

            inst.RootID      = targetId;
            inst.Content     = content;
            inst.CreatorID   = currentUser.UserID;
            inst.CreatorName = currentUser.UserName;
            inst.Mode        = mode;
            inst.Save();


            if (mode == "LikeCount")
            {
                DocManager.GetInstance().UpdateValue(targetId, "{$inc:{'LikeCount':1}}");
                ClientBehaviorManager.Add(CONST.DB.DBName_DocService, CONST.DB.CollectionName_CommentItem, targetId, "点赞", currentUser.UserID, currentUser.UserName);
            }
            else if (mode == "text")
            {
                DocManager.GetInstance().UpdateValue(targetId, "{$inc:{'CommentCount':1}}");
                ClientBehaviorManager.Add(CONST.DB.DBName_DocService, CONST.DB.CollectionName_CommentItem, targetId, "评论", currentUser.UserID, currentUser.UserName);
            }



            return(0);
        }
Пример #4
0
        public static DocItem Load(string id)
        {
            if (!string.IsNullOrWhiteSpace(id) && 24 == id.Length)
            {
                var _id   = ObjectId.Parse(id);
                var query = "{\"_id\":new ObjectId('" + id + "')}";
                var inst  = DocManager.GetInstance().Find(query);

                return(inst.First());
            }
            return(new DocItem());
        }
Пример #5
0
        /// <summary>
        /// 文档聚合查询
        /// </summary>
        /// <param name="match"></param>
        /// <param name="group"></param>
        /// <returns></returns>
        public object Aggregate(string type, string match, string group)
        {
            var res = new object();

            if ("Doc" == type)
            {
                res = DocManager.GetInstance().Aggregate(match, group);
            }
            else if ("ClientBehavior" == type)
            {
                res = ClientBehaviorManager.GetInstance().Aggregate(match, group);
            }
            return(res);
        }
Пример #6
0
        public void MoveToRecycleBin(string dbName, string collectionName, string id)
        {
            if (!string.IsNullOrWhiteSpace(dbName) && !string.IsNullOrWhiteSpace(collectionName) && StringChecker.IsObjectId(id))
            {
                var res = this.FindTarget(dbName, collectionName, id);
                var db  = DataStorage.GetInstance(DBType.MongoDB);
                foreach (var item in res)
                {
                    var query          = "{'_id':ObjectId('" + item.ID + "')}";
                    var targetDataItem = new object();
                    if (item.TableName == CONST.DB.CollectionName_CategoryItem)
                    {
                        targetDataItem = CategoryManager.GetInstance().Find(query).First();
                    }
                    else if (item.TableName == CONST.DB.CollectionName_DocItem)
                    {
                        targetDataItem = DocManager.GetInstance().Find(query).First();
                    }

                    db.Save3(CONST.DB.DBName_DocService, CONST.DB.CollectionName_RecycleBin, targetDataItem);
                    db.Remove(item.DatabaseName, item.TableName, query);
                }
            }
        }
Пример #7
0
        public List <DocItem> LoadAllDocInSubFolder(string categoryId, string protection = "{}", string sort = "{}", int pageIndex = 0, int pageSize = 50)
        {
            var res = DocManager.GetInstance().LoadAllDocInSubFolder(categoryId, protection, sort, pageIndex, pageSize);

            return(res);
        }
Пример #8
0
        public object DocCount(string query)
        {
            var res = DocManager.GetInstance().Count(query);

            return(res);
        }
Пример #9
0
        /// <summary>
        /// 加载文档列表
        /// </summary>
        /// <param name="query"></param>
        /// <param name="protection"></param>
        /// <param name="sort"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public List <DocItem> LoadDocList(string query, string protection = "{}", string sort = "{}", int pageIndex = 0, int pageSize = 50)
        {
            var res = DocManager.GetInstance().Find(query, protection, sort, pageIndex, pageSize);

            return(res);
        }
Пример #10
0
        /// <summary>
        /// ///////////////////////
        /// </summary>
        /// <param name="title"></param>
        /// <param name="content"></param>
        /// <param name="categoryID"></param>
        /// <param name="id"></param>
        /// <param name="plainText"></param>
        /// <param name="thumbnailSr"></param>
        /// <returns></returns>



        public int SaveNote(string title, string content, string categoryID, string id, string plainText, string thumbnailSr)
        {
            var res = DocManager.GetInstance().SaveAs(bizMode: "汪俊云笔记", id: id, title: title, content: content, categoryID: categoryID, plainText: plainText, thumbnailSrc: thumbnailSr);

            return(res);
        }
Пример #11
0
        public static DocManager GetInstance()
        {
            var inst = new DocManager();

            return(inst);
        }