Пример #1
0
        public BsTableDataSource <SumAppWarnInfoModel> GetSumWarnInfoUI(RouteSearcWarnInfoModel request)
        {
            using (var db = DbFactory.Open())
            {
                var list       = db.SqlList <SumAppWarnInfoModel>("select a.SendMessage as eventName,b.Warninglevel,a.SendMessageByUserName+'('+c.adnm+')' as SendMessageByUserName,a.ReceiveDateTime, a.AppWarnInfoID  from AppSendMessage a left  join AppWarnLevel b on a.Warninglevel = b.Id left  join ADCDInfo c on c.adcd = a.ReciveAdcd  inner join AppMobileLogin d on d.userName = a.ReceiveUserPhone  where a.AppWarnEventId = '" + request.EventId + "' and  a.ReceiveUserName=a.SendMessageByUserName and Remark='' and VillageMessage is null ");
                var townList   = db.SqlList <SumAppWarnInfoModel>("select a.Remark as eventName,b.Warninglevel,a.SendMessageByUserName+'('+c.adnm+')' as SendMessageByUserName,a.ReceiveDateTime, a.AppWarnInfoID  from AppSendMessage a left  join AppWarnLevel b on a.Warninglevel = b.Id left  join ADCDInfo c on c.adcd = a.ReciveAdcd  inner join AppMobileLogin d on d.userName = a.ReceiveUserPhone  where a.AppWarnEventId = '" + request.EventId + "' and  a.ReceiveUserName=a.SendMessageByUserName and Remark!='' and VillageMessage is null ");
                var vilageList = db.SqlList <SumAppWarnInfoModel>("select a.VillageMessage as eventName,b.Warninglevel,a.SendMessageByUserName+'('+c.adnm+')' as SendMessageByUserName,a.ReceiveDateTime, a.AppWarnInfoID  from AppSendMessage a left  join AppWarnLevel b on a.Warninglevel = b.Id left  join ADCDInfo c on c.adcd = a.ReciveAdcd  inner join AppMobileLogin d on d.userName = a.ReceiveUserPhone  where a.AppWarnEventId = '" + request.EventId + "' and  a.ReceiveUserName=a.SendMessageByUserName and Remark!='' and VillageMessage is not null ");
                list.AddRange(townList);
                list.AddRange(vilageList);
                foreach (var item in list)
                {
                    var appSendMessageList = db.SqlList <AppSendMessage>("select a.* from AppSendMessage a inner join AppMobileLogin b on b.userName=a.ReceiveUserPhone where AppWarnInfoID = '" + item.AppWarnInfoID + "' and ReceiveUserName != SendMessageByUserName and a.Position!='驻村干部' ");
                    item.ReadCount   = appSendMessageList.Count(x => x.IsReaded == true);
                    item.NoReadCount = appSendMessageList.Count(x => x.IsReaded == false);
                }

                var pageList = list.Skip(request.PageSize * (request.PageIndex - 1))
                               .Take(request.PageSize).OrderByDescending(x => x.ReceiveDateTime).ToList();
                return(new BsTableDataSource <SumAppWarnInfoModel> {
                    total = list.Count(), rows = pageList
                });
            }
        }
Пример #2
0
 public BsTableDataSource <SumAppWarnInfoModel> Get(RouteSearcWarnInfoModel request)
 {
     return(sumMessage.GetSumWarnInfoUI(request));
 }