Exemple #1
0
        public ActionResult List(SysLogQuery query)
        {
            var list   = this.SysLogRepository.GetList(query);
            var data   = list.Data.Select(c => SysLogModel.From(c)).ToList();
            var result = new { total = list.RecordCount, rows = data };

            return(Json(result));
        }
        /// <summary>
        /// 查询日志
        /// </summary>
        /// <param name="sysLogQuery"></param>
        /// <returns></returns>
        public PagedResult<SysLogDTO> Find(SysLogQuery sysLogQuery)
        {
            Check.Argument.IsNotNull(sysLogQuery, "sysLogQuery");

            //Apply filtering    
            var query = _databaseContext.SysLogs.Where(sysLogQuery);
            if (sysLogQuery.filter.User != null)
            {
                query = query.Join(_databaseContext.Users.Where(a => a.Name.Contains(sysLogQuery.filter.User.Name))
                    , log => log.UserId, user => user.Id, (log, user) => log);
            }

            var total = query.Count();
            query = SortMemeberHelper.SortingAndPaging<SysLog>(query, sysLogQuery.sort, sysLogQuery.dir
                , sysLogQuery.page, sysLogQuery.limit);


            var resultSet = query.AsNoTracking().ToList().Select(r => _sysLogMapper.Map(r)).ToList();

            return new PagedResult<SysLogDTO>(resultSet, total);
        }