Exemplo n.º 1
0
        /// <summary>
        /// 关键字为空 日期为空
        /// </summary>
        /// <returns></returns>
        public List <HistoryChatEntity> Query00(string fromuid, string touid, int pageSize, int pageNumber, int queryCount)
        {
            var query =
                unitOfWork.DIMMsg.Get(
                    p => ((p.FromuID == fromuid && p.TouID == touid) || (p.FromuID == touid && p.TouID == fromuid)) && p.IsDel != 1)
                .OrderByDescending(p => p.CreateDate).Skip(pageSize * (pageNumber - 1)).Take(pageSize).OrderBy(p => p.CreateDate).ToList();
            List <HistoryChatEntity> list = new List <HistoryChatEntity>();

            foreach (var imMsg in query)
            {
                var entity = new HistoryChatEntity();
                entity.TrueName = imMsg.fromusername;
                entity.Msg      = imMsg.Msg;
                entity.ChatTime = imMsg.CreateDate.Value.ToString("G");
                list.Add(entity);
            }
            return(list);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 历史聊天记录(根据传入参数的不同 分为两种查询方式 一种是按照时间来查询 一种是按照聊天内容来查询)
        /// </summary>
        /// <returns></returns>
        public ActionResult HistoryChat(string touid, DateTime dateTime, int pageNumber = 1, string msg = "")
        {
            List <HistoryChatEntity> list = new List <HistoryChatEntity>();

            if (msg == "")
            {
                //根据日期查询
                /*聊天记录 根据当前日期 选取该日期的聊天就 然后执行翻页*/
                dateTime = dateTime.Date;
                var fromuid   = LoginUserService.ssoUserID;
                var dateTime2 = dateTime.AddDays(1);
                var query     =
                    unitOfWork.DIMMsg.Get(
                        p =>
                        p.TouID == touid &&
                        (p.CreateDate.Value >= dateTime && p.CreateDate.Value <= dateTime2) && p.IsDel != 1)
                    .OrderByDescending(p => p.CreateDate);

                Paging paging = new Paging();

                paging.PageNumber = pageNumber;
                paging.PageSiz    = 20;
                paging.Amount     = query.Count();

                ViewBag.pageNo    = pageNumber; //当前页码 1
                ViewBag.pageCount = paging.PageCount;

                var pageQuery2 =
                    query.Skip(paging.PageSiz * paging.PageNumber).Take(paging.PageSiz).OrderBy(p => p.CreateDate).ToList();

                foreach (var imMsg in pageQuery2)
                {
                    var entity = new HistoryChatEntity();
                    entity.TrueName = imMsg.fromusername;
                    entity.Msg      = imMsg.Msg;
                    entity.ChatTime = imMsg.CreateDate.Value.ToString("G");
                    list.Add(entity);
                }
                if (list.Any())
                {
                    return(Json(new { r = true, list = list, pageCount = paging.PageCount, pageNo = pageNumber },
                                JsonRequestBehavior.AllowGet));
                }
                return(Json(new { r = false }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                //根据内容查询
                var query =
                    unitOfWork.DIMMsg.Get(
                        p => p.TouID == touid && p.Msg.Contains(msg) && p.IsDel != 1).OrderByDescending(p => p.CreateDate);

                Paging paging = new Paging();

                paging.PageNumber = pageNumber;
                paging.PageSiz    = 20;
                paging.Amount     = query.Count();

                ViewBag.pageNo    = pageNumber;//当前页码 1
                ViewBag.pageCount = paging.PageCount;

                var pageQuery2 = query.Skip(paging.PageSiz * paging.PageNumber).Take(paging.PageSiz).OrderBy(p => p.CreateDate).ToList();
                foreach (var imMsg in pageQuery2)
                {
                    var entity = new HistoryChatEntity();
                    entity.TrueName = imMsg.fromusername;
                    entity.Msg      = imMsg.Msg;
                    entity.ChatTime = imMsg.CreateDate.Value.ToString("G");
                    list.Add(entity);
                }
                if (list.Any())
                {
                    return(Json(new { r = true, list = list, pageCount = paging.PageCount, pageNo = pageNumber }, JsonRequestBehavior.AllowGet));
                }
                return(Json(new { r = false }, JsonRequestBehavior.AllowGet));
            }
        }