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

            MonitorDataRepository mr = new MonitorDataRepository();
            var dbResult = mr.GroupByAccount(userName, start,end);

            if (dbResult != null && dbResult.Count > 0)
            {
                GroupByAccountModel tmp = new GroupByAccountModel();
                foreach (var item in dbResult)
                {
                    if (item.UserName != tmp.UserName)
                    {
                        tmp = new GroupByAccountModel();
                        tmp.UserName = item.UserName;
                        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;
        }