Esempio n. 1
0
        /// <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);
            }
        }
Esempio n. 2
0
        public ActionResult CreateSystemMessage()
        {
            var systemMessage = new Models.SystemMessage {
                Id = Guid.Empty
            };

            return(View("Edit", systemMessage));
        }
Esempio n. 3
0
        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);
        }