예제 #1
0
        /// <summary>
        /// 编辑
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public override Result Edit(Message model)
        {
            var model1 = dal.Get(model.ID);

            if (model1 == null)
            {
                return(new Result(300, "数据不存在!"));
            }
            var sendStatus = DicHelper.Get("MessageSendType", "Send");

            if (model1.Status != null && sendStatus != null && model1.Status.ID == sendStatus.ID)
            {
                return(new Result(300, "无法编辑发送状态的消息!"));
            }
            model1.Comment = model.Comment;
            model1.Content = model.Content;
            model1.Receives.Clear();
            foreach (var i in model.Receives)
            {
                model1.Receives.Add(new MessageReceive
                {
                    ID      = 0,
                    Message = model1,
                    User    = i.User,
                    Status  = DicHelper.Get("MessageReceiveType", "Unread")
                });
            }
            model1.Title = model.Title;
            return(base.Edit(model1));
        }
예제 #2
0
 /// <summary>
 /// 添加
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public override Result Add(Message model)
 {
     model.AddTime = DateTime.Now;
     model.AddUser = AdminHelper.Admin;
     model.ID      = 0;
     model.Status  = DicHelper.Get("MessageSendType", "Draft");
     model.Type    = DicHelper.Get("MessageType", "UserMessage");
     foreach (var i in model.Receives)
     {
         i.Message = model;
         i.Status  = DicHelper.Get("MessageReceiveType", "Unread");
     }
     return(base.Add(model));
 }
예제 #3
0
        /// <summary>
        /// 阅读
        /// </summary>
        /// <param name="ID"></param>
        /// <returns></returns>
        public DataResult Read(int ID)
        {
            var model = dal.Get(ID);

            if (model == null)
            {
                return(new DataResult(300, "数据获取失败!", null));
            }
            if (model.ReadTime == null)
            {
                model.ReadTime = DateTime.Now;
                model.Status   = DicHelper.Get("MessageReceiveType", "Read");
                base.Edit(model);
            }
            return(new DataResult(200, "数据获取成功!", model));
        }
예제 #4
0
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="ID"></param>
        /// <returns></returns>
        public override Result Delete(int ID)
        {
            var model = dal.Get(ID);

            if (model == null)
            {
                return(new Result(300, "数据获取失败!"));
            }
            model.Status = DicHelper.Get("MessageReceiveType", "Delete");
            var result = dal.Edit(model);

            if (result)
            {
                return(new Result(200, "删除成功!"));
            }
            else
            {
                return(new Result(300, "删除失败!"));
            }
        }
예제 #5
0
        /// <summary>
        /// 发送
        /// </summary>
        /// <param name="ID"></param>
        /// <returns></returns>
        public Result Send(int ID)
        {
            var model = dal.Get(ID);

            if (model == null)
            {
                return(new Result(300, "数据不存在!"));
            }
            model.Status   = DicHelper.Get("MessageSendType", "Send");
            model.SendTime = DateTime.Now;
            var result = dal.Edit(model);

            if (result)
            {
                return(new Result(200, "发送成功!"));
            }
            else
            {
                return(new Result(300, "发送失败!"));
            }
        }
예제 #6
0
        /// <summary>
        /// 列表
        /// </summary>
        /// <param name="firstResult"></param>
        /// <param name="maxResults"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public ListResult <MessageReceive> List(int firstResult, int maxResults, string name = "")
        {
            // MessageReceive查询条件
            var query1 = Restrictions.Eq("User", AdminHelper.Admin);
            var query2 = Restrictions.Eq("Status", DicHelper.Get("MessageReceiveType", "Delete"));
            var query3 = Restrictions.Not(query2);
            var query4 = Restrictions.And(query1, query3);

            // Message查询条件
            var query5 = Restrictions.IsNotNull("SendTime");

            if (!string.IsNullOrEmpty(name))
            {
                var query6 = Restrictions.Like("Title", name, MatchMode.Anywhere);
                var query7 = Restrictions.Like("Content", name, MatchMode.Anywhere);
                var query8 = Restrictions.Or(query6, query7);
                query5 = Restrictions.And(query5, query8);
            }

            var total = dal.CreateCriterion().Add(query4).CreateCriteria("Message").Add(query5).SetProjection(Projections.RowCount()).UniqueResult <int>();
            var list  = dal.CreateCriterion().Add(query4).CreateCriteria("Message").Add(query5).AddOrder(Order.Desc("ID")).SetFirstResult(firstResult).SetMaxResults(maxResults).List <MessageReceive>();

            return(new ListResult <MessageReceive>(200, "数据获取成功!", total, list));
        }