public bool SetSceneItemStatus(string sceneItemID, Examine examine)
        {
            try
            {
                if (string.IsNullOrEmpty(sceneItemID))
                {
                    throw new KnownException("id为空,无法设置!");
                }
                var db = new MongoDbProvider <SceneItem>();
//                var item = db.GetByCondition(x=>x.);
                //if (examine.ExamineStatus == ItemStatus.Final)
                //{
                //    SetSceneStatusFinal(sceneItemID);
                //}
                var tempstring = GetSceneItemByRelation(sceneItemID, db);
                var item       = db.GetByCondition(x => x.Id == tempstring);
                item.Status  = examine.ExamineStatus;
                examine.Time = DBTimeHelper.DBNowTime();
                (item.Examines ?? new List <Examine>()).Add(examine);
                item.UpdateTime = examine.Time;
                db.Update(item);
                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 2
0
 public bool ChangeReadStatus(Guid messageId, string userId)
 {
     try
     {
         var mgdb = new MongoDbProvider <UserMessageQueueItem>();
         var msg  = mgdb.GetByCondition(x => x.UserID == userId && ((ChatMessage)x.Data).MessageID == messageId);
         ((ChatMessage)msg.Data).IsRead = EnterpriseData.Common.ReadStatus.Read;
         var flag = mgdb.Update(msg);
         return(((ChatMessage)flag.Data).IsRead == EnterpriseData.Common.ReadStatus.Read);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
        public bool DeleteSceneItem(string sceneItemID)
        {
            try
            {
                if (string.IsNullOrEmpty(sceneItemID))
                {
                    throw new KnownException("id为空,无法删除!");
                }
                var mgdb      = new MongoDbProvider <SceneItem>();
                var sceneItem = mgdb.GetAll(o => o.Id == sceneItemID).FirstOrDefault();
                if (null == sceneItem)
                {
                    return(true);
                }
                else if (sceneItem.Status == ItemStatus.Final)
                {
                    throw new KnownException("已经归档,不能删除!");
                }

                //  如果有图片,需要删除图片
                if (null != sceneItem.Images)
                {
                    foreach (var image in sceneItem.Images)
                    {
                        mgdb.DeleteFileByName(image.OriginalPicture, PictureDbName);
                        mgdb.DeleteFileByName(image.ThumbnailPicture, PictureDbName);
                    }
                }
                mgdb.Delete(sceneItemID);

                using (var db = new BCEnterpriseContext())
                {
                    var scene = db.Scenes.First(o => o.SceneID == sceneItem.SceneID);
                    if (scene.HasData && (null == mgdb.GetByCondition(o => o.SceneID == sceneItem.SceneID)))
                    {
                        scene.HasData = false;
                    }
                    db.SaveChanges();
                }
                return(Send2MsmqAsDelete(sceneItemID, OperationEnum.Deleted, sceneItem.SceneID));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }