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; } }
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; } }