コード例 #1
0
        public int Save <T>(BaseItem item) where T : class, new()
        {
            var inst    = item as T;
            var db      = DataStorage.GetInstance(DBType.MongoDB);
            var session = SESSION.Current;

            if (item._OID == ObjectId.Empty)
            {
                item._OID       = ObjectId.GenerateNewId();
                item.CreateTime = DateTime.Now;
                item.UpdateTime = DateTime.Now;

                item.CreatorID    = session.UserID;
                item.CreatorName  = session.UserName;
                item.ModifierID   = session.UserID;
                item.ModifierName = session.UserName;

                item.CompanyID   = session.CompanyID;
                item.CompanyName = session.CompanyName;
                //item.Status = CONST.Status.Normal;
                if (!StringChecker.IsNotEmptyObjectId(item.OwnerID)) ///默认指定则不赋值
                {
                    item.OwnerID = session.UserID;                   ///数据所有者
                }

                db.Save3(item._DbName, item._CollectionName, inst);
            }
            else
            {
                var query = MongoDBFilterCreator.SearchByObjectId(item.ID);
                db.Save3(item._DbName, item._CollectionName, inst, query);
            }
            return(0);
        }
コード例 #2
0
 public int Delete(BaseItem item)
 {
     if (StringChecker.IsNotEmptyObjectId(item.ID))
     {
         var db    = DataStorage.GetInstance(DBType.MongoDB);
         var query = MongoDBFilterCreator.SearchByObjectId(item.ID);
         db.Remove(item._DbName, item._CollectionName, query);
         ClientBehaviorItem.Save(item, ClientBehaviorItem.BehaviorType.除, SESSION.Current);
     }
     return(0);
 }
コード例 #3
0
 public int Remove(BaseItem item)
 {
     if (StringChecker.IsNotEmptyObjectId(item.ID))
     {
         var db    = DataStorage.GetInstance(DBType.MongoDB);
         var query = MongoDBFilterCreator.SearchByObjectId(item.ID);
         db.Save3(item._DbName, item._CollectionName, "{StatusCode:" + CONST.APP.Status.除 + ",Status:'" + CONST.APP.Status.GetString(CONST.APP.Status.除) + "'}", query, false);
         ClientBehaviorItem.Save(item, ClientBehaviorItem.BehaviorType.移除, SESSION.Current);
     }
     return(0);
 }
コード例 #4
0
        public T Get <T>(BaseItem item) where T : class, new()
        {
            if (StringChecker.IsNotEmptyObjectId(item.ID))
            {
                var db    = DataStorage.GetInstance(DBType.MongoDB);
                var query = MongoDBFilterCreator.SearchByObjectId(item.ID);
                var data  = db.Get(item._DbName, item._CollectionName, query);


                return(Convertor.FromDictionaryToObject <T>(data));
            }
            return(new T());
        }