/// <summary> /// 插入系统信息 /// </summary> /// <param name="title"></param> /// <param name="content"></param> /// <param name="recieveId"></param> /// <param name="sourceId"></param> /// <param name="sourceType"></param> /// <param name="moduleKey"></param> /// <param name="category"></param> /// <returns></returns> private bool InsertSystemMessage(string title, string content, string recieveId, Guid?sourceId, string sourceType, string moduleKey, MessageCategory category = MessageCategory.System) { using (var dbContext = new SystemMessageDbContext()) { var systemMessage = new Models.SystemMessage { Id = KeyGenerator.GetGuidKey(), Title = title, Content = content, SourceId = sourceId, MessageType = recieveId == null ? MessageType.Public : MessageType.Personal, CreateTime = DateTime.Now, SourceType = sourceType, ModuleKey = moduleKey, Category = category }; dbContext.SystemMessages.Add(systemMessage); if (recieveId != null) { var systemMessageReciever = new SystemMessageReciever { Id = KeyGenerator.GetGuidKey(), MessageId = systemMessage.Id, RecieveId = recieveId, CreateTime = DateTime.Now, Status = Status.UnRead }; dbContext.SystemMessageRecievers.Add(systemMessageReciever); } var result = dbContext.SaveChanges(); return(result > 0); } }
public ActionResult CreateSystemMessage() { var systemMessage = new Models.SystemMessage { Id = Guid.Empty }; return(View("Edit", systemMessage)); }
private bool SetMessageRead(Models.SystemMessage message, string memberId) { if (message.MessageType == MessageType.Personal) { using (var dbContext = new SystemMessageDbContext()) { var query = (from mr in dbContext.SystemMessageRecievers where mr.MessageId == message.Id && mr.RecieveId == memberId && mr.Status == Status.UnRead select mr).ToList(); foreach (var item in query) { item.Status = Status.HasRead; dbContext.Set <SystemMessageReciever>().Attach(item); dbContext.Entry(item).State = System.Data.Entity.EntityState.Modified; } dbContext.SaveChanges(); return(true); } } if (message.MessageType == MessageType.Public) { using (var dbContext = new SystemMessageDbContext()) { var query = (from mr in dbContext.SystemMessageRecievers where mr.MessageId == message.Id && mr.RecieveId == memberId select mr).ToList(); if (query.Count > 0) { foreach (var item in query) { if (item.Status == Status.UnRead) { item.Status = Status.HasRead; dbContext.Set <SystemMessageReciever>().Attach(item); dbContext.Entry(item).State = System.Data.Entity.EntityState.Modified; } } } else { var messageReciever = new SystemMessageReciever(); messageReciever.Id = KeyGenerator.GetGuidKey(); messageReciever.MessageId = message.Id; messageReciever.RecieveId = memberId; messageReciever.Status = Status.HasRead; messageReciever.CreateTime = DateTime.Now; messageReciever.ReadTime = DateTime.Now; dbContext.SystemMessageRecievers.Add(messageReciever); } dbContext.SaveChanges(); return(true); } } return(true); }