예제 #1
0
        public ActionResult GetList(string jsonstring, int rows, int page)
        {
            var result = new StandardJsonResult <MessageResult>();

            result.Try(() =>
            {
                List <MessageModel> mylist = new List <MessageModel>();
                List <ChatDto> list        = new List <ChatDto>();
                int amount = 0;
                //初始化模式
                if (jsonstring == null)
                {
                    list = serrvice.SearchChatMessages(BCSession.User.UserID, null, null, "", ReadStatus.All, rows, page, out amount);
                }
                else//搜索模式
                {
                    MessageSearchModel model = ML.BC.Infrastructure.Serializer.FromJson <MessageSearchModel>(jsonstring);
                    if (model.Status == null)
                    {
                        model.Status = 4;
                    }
                    list = serrvice.SearchChatMessages(BCSession.User.UserID, model.BeginDate, model.EndDate, model.Sender, (ReadStatus)model.Status, rows, page, out amount);
                }
                foreach (var a in list)
                {
                    MessageModel m = new MessageModel()
                    {
                        Message  = a.Message,
                        Sender   = a.SenderName,
                        SendTime = a.SendTime.ToString(),
                        Status   = (int)a.IsRead,
                    };
                    m.UserList = new List <string>();
                    foreach (var i in a.UserList)
                    {
                        m.UserList.Add(i.Key + "," + i.Value);
                    }
                    mylist.Add(m);
                }
                result.Value       = new MessageResult();
                result.Value.rows  = mylist;
                result.Value.total = amount;
            });
            if (!result.Success)
            {
                result.Value = new MessageResult();
            }
            return(Json(result.Value, JsonRequestBehavior.AllowGet));
        }