示例#1
0
        public PageOfList <LogActionInfo> GetPage(int pageIndex, int?pageSize, SearchCriteria criteria)
        {
            IQueryable <LogActionInfo> query = _repository.GetAll();

            query = ApplyCriteria(query, criteria);
            var result = query.GetPage(pageIndex, pageSize ?? PageSize);

            result.ForEach(FillDiffrences);
            return(result);
        }
示例#2
0
        public LogActionView GetAll(string _keyWords, string _userName, DateTime?_fromDate, DateTime?_toDate, int?_pageIndex, int?_pageSize)
        {
            var entitys = _Repository.GetAll();

            if (!string.IsNullOrEmpty(_keyWords))
            {
                entitys = entitys.Where(x => x.userAction.ToLower().Contains(_keyWords.ToLower().Trim()) || x.action.Contains(_keyWords.ToLower().Trim()));
            }
            if (!string.IsNullOrEmpty(_userName))
            {
                entitys = entitys.Where(x => x.userAction == _userName);
            }
            if (_fromDate.HasValue)
            {
                entitys = entitys.Where(x => x.createTime >= _fromDate.Value.Date);
            }
            if (_toDate.HasValue)
            {
                entitys = entitys.Where(x => x.createTime <= _toDate.Value.Date);
            }
            entitys = entitys.OrderByDescending(x => x.createTime);
            int totalRecord = entitys.Count();

            if (_pageIndex != null && _pageSize != null)
            {
                entitys = entitys.Skip((_pageIndex.Value - 1) * _pageSize.Value);
            }
            var totalPage = 0;

            if (_pageSize != null)
            {
                totalPage = (int)Math.Ceiling(1.0 * totalRecord / _pageSize.Value);
                entitys   = entitys.Take(_pageSize.Value);
            }
            return(new LogActionView {
                ViewLogActions = entitys, Total = totalPage
            });
        }