コード例 #1
0
ファイル: IPQueryBiz.cs プロジェクト: Jackie2014/W1-IPS
        public List<GroupByRegionModel> GroupByRegion(string region, DateTime start, DateTime end, int pageIndex = 0, int pageSize = 20)
        {
            List<GroupByRegionModel> result = new List<GroupByRegionModel>();
            if (region != null)
                region = region.Trim();

            MonitorDataRepository mr = new MonitorDataRepository();
            var dbResult = mr.GroupByRegion(region, start, end);

            if (dbResult != null && dbResult.Count > 0)
            {
                GroupByRegionModel tmp = new GroupByRegionModel();
                foreach (var item in dbResult)
                {
                    if (item.Region != tmp.Region)
                    {
                        tmp = new GroupByRegionModel();
                        tmp.Region = item.Region;
                        result.Add(tmp);
                    }

                    if (item.Status == 1)
                    {
                        tmp.StatusNormalCount = item.Count;
                    }
                    else if (item.Status == 2)
                    {
                        tmp.StatusUnknownCount = item.Count;
                    }
                    else if (item.Status == 3)
                    {
                        tmp.StatusExceptionCount = item.Count;
                    }
                }
            }

            result = result.OrderByDescending(r => r.Total).ToList();
            result = result.Skip(pageSize * pageIndex).Take(pageSize).ToList();
            return result;
        }