예제 #1
0
 public ActionResult List(AlarmQueryCondition conditions)
 {
     if (conditions != null)
     {
         Session["AlarmHistoryConditions"] = conditions;
     }
     return(List());
 }
예제 #2
0
        public ActionResult List(int page = 1, int pageSize = 10)
        {
            AlarmQueryCondition            conditions = null;
            IEnumerable <AlarmInformation> alarmInfo  = null;

            //数据库取数据
            using (var ctx = new GlsunViewEntities())
            {
                alarmInfo = ctx.AlarmInformation
                            .Where(a => a.AIConfirm == false)
                            .ToList();
            }
            //筛选
            conditions = (AlarmQueryCondition)Session["AlarmQueryConditions"];
            if (conditions == null)
            {
                conditions = new AlarmQueryCondition
                {
                    IP           = "",
                    AlarmLevel   = "不限",
                    AlarmTimeBeg = DateTime.Now.AddMonths(-3),
                    AlarmTimeEnd = DateTime.Now
                };
            }
            if (!string.IsNullOrWhiteSpace(conditions.IP))
            {
                alarmInfo = alarmInfo.Where(a => a.DAddress.Contains(conditions.IP));
            }
            if (conditions.AlarmLevel != "不限")
            {
                alarmInfo = alarmInfo.Where(a => a.AILevel == conditions.AlarmLevel);
            }
            alarmInfo = alarmInfo.Where(a => a.AITime > conditions.AlarmTimeBeg);
            alarmInfo = alarmInfo.Where(a => a.AITime < conditions.AlarmTimeEnd.AddDays(1));
            //分页处理
            var totals = alarmInfo.Count();

            alarmInfo = alarmInfo.OrderByDescending(a => a.AITime)
                        .Skip((page - 1) * pageSize)
                        .Take(pageSize)
                        .ToList();
            var pagingInfo = new PagingInfo
            {
                TotalItems    = totals,
                CurrentPage   = page,
                ItemsPerPage  = pageSize,
                ShowPageCount = 5
            };

            ViewBag.PagingInfo = pagingInfo;
            ViewBag.Conditions = conditions;
            SetAuthorityData();
            return(View(alarmInfo));
        }