コード例 #1
0
        public async Task <IList <AuditInfoEntity> > Query(AuditInfoQueryModel model)
        {
            var paging = model.Paging();
            var query  = Db.Find();

            query.WhereNotNull(model.ModuleCode, m => m.Area == model.ModuleCode);
            query.WhereNotNull(model.Controller, m => m.Controller == model.Controller);
            query.WhereNotNull(model.Action, m => m.Action == model.Action);
            query.WhereNotNull(model.StartTime, m => m.ExecutionTime >= model.StartTime);
            query.WhereNotNull(model.EndTime, m => m.ExecutionTime <= model.EndTime);

            if (!paging.OrderBy.Any())
            {
                query.OrderByDescending(x => x.Id);
            }

            var sw = new Stopwatch();

            sw.Start();

            var list = await query.PaginationAsync(paging);

            sw.Stop();

            var s = sw.ElapsedMilliseconds;

            model.TotalCount = paging.TotalCount;
            return(list);
        }
コード例 #2
0
        public async Task <IList <AuditInfoEntity> > Query(AuditInfoQueryModel model)
        {
            var paging = model.Paging();
            var query  = Db.Find();

            query.WhereNotNull(model.ModuleCode, m => m.Area == model.ModuleCode);
            query.WhereNotNull(model.Controller, m => m.Controller == model.Controller);
            query.WhereNotNull(model.Action, m => m.Action == model.Action);
            query.WhereNotNull(model.StartTime, m => m.ExecutionTime >= model.StartTime);
            query.WhereNotNull(model.EndTime, m => m.ExecutionTime <= model.EndTime);

            if (!paging.OrderBy.Any())
            {
                query.OrderByDescending(x => x.Id);
            }

            //导出全部
            if (model.IsExport && model.Export.Mode == ExportMode.All)
            {
                model.ExportCount = await query.CountAsync();

                if (model.IsOutOfExportCountLimit)
                {
                    return(new List <AuditInfoEntity>());
                }
                return(await query.ToListAsync());
            }

            var list = await query.PaginationAsync(paging);

            model.ExportCount = list.Count;
            model.TotalCount  = paging.TotalCount;
            return(list);
        }
コード例 #3
0
        public async Task <IList <AuditInfoEntity> > Query(AuditInfoQueryModel model)
        {
            var paging = model.Paging();
            var query  = Db.Find();

            query.WhereIf(model.ModuleCode.NotNull(), m => m.Area == model.ModuleCode);
            query.WhereIf(model.Controller.NotNull(), m => m.Controller == model.Controller);
            query.WhereIf(model.Action.NotNull(), m => m.Action == model.Action);
            query.WhereIf(model.StartTime != null, m => m.ExecutionTime >= model.StartTime);
            query.WhereIf(model.EndTime != null, m => m.ExecutionTime <= model.EndTime);

            if (!paging.OrderBy.Any())
            {
                query.OrderByDescending(m => m.Id);
            }
            var list = await query.LeftJoin <AccountEntity>((x, y) => x.AccountId == y.Id)
                       .LeftJoin <ModuleInfoEntity>((x, y, z) => x.Area == z.Code)
                       .Select((x, y, z) => new
            {
                x,
                Creator    = y.Name,
                ModuleName = z.Name
            })
                       .PaginationAsync(paging);

            model.TotalCount = paging.TotalCount;
            return(list);
        }
コード例 #4
0
        public async Task <QueryResultModel <AuditInfoEntity> > Query(AuditInfoQueryModel model)
        {
            //model.PageModel = getQueryPageModel();

            var result = await _service.Query(model);

            return(result.Data);
        }
コード例 #5
0
        public async Task <IResultModel> Query(AuditInfoQueryModel model)
        {
            var result = new QueryResultModel <AuditInfoEntity>
            {
                Rows  = await _repository.Query(model),
                Total = model.TotalCount
            };

            return(ResultModel.Success(result));
        }
コード例 #6
0
        public async Task <IActionResult> Export(AuditInfoQueryModel model)
        {
            var result = await _service.Export(model);

            if (result.Successful)
            {
                return(ExportExcel(result.Data.Path, result.Data.FileName));
            }

            return(Ok(result));
        }
コード例 #7
0
        public async Task <IResultModel> Query(AuditInfoQueryModel model)
        {
            var result = new QueryResultModel <AuditInfoQueryResultModel>();
            var paging = model.Paging();
            var list   = await _repository.Query(paging, model.AccountId, model.ModuleCode, model.Controller, model.Action, model.StartTime, model.EndTime);

            result.Rows  = _mapper.Map <List <AuditInfoQueryResultModel> >(list);
            result.Total = paging.TotalCount;

            return(ResultModel.Success(result));
        }
コード例 #8
0
        public async Task <IResultModel <ExcelExportResultModel> > Export(AuditInfoQueryModel model)
        {
            var result = new ResultModel <ExcelExportResultModel>();
            var list   = await _repository.Query(model);

            if (model.IsOutOfExportCountLimit)
            {
                return(result.Failed($"导出数据不能超过{model.ExportCountLimit}条"));
            }

            return(result.Success(_excelHandler.Export(model.Export, list)));
        }
コード例 #9
0
        public async Task <IList <AuditInfoEntity> > Query(AuditInfoQueryModel model)
        {
            var conditions = await _filter.GetConditions <ResourceEntity, AuditInfoQueryModel>(model);

            var query = _dbContext.Db.Queryable <AuditInfoEntity>()
                        .LeftJoin <UserEntity>((x, y) => x.Creater == y.Id && y.IsDel == false)
                        .Select((x, y) => new AuditInfoEntity()
            {
                Id       = x.Id.SelectAll(),
                UserCode = y.UserCode,
                UserName = y.UserName
            })
                        .MergeTable()
                        .Where(conditions)
                        .OrderBy(model.OrderFileds);

            RefAsync <int> totalCount = 0;
            var            data       = await query.ToPageListAsync(model.PageIndex, model.PageSize, totalCount);

            model.TotalCount = totalCount;

            return(data);
        }
コード例 #10
0
        public async Task <QueryResultModel <AuditInfoEntity> > Query(AuditInfoQueryModel model)
        {
            var paging = model.Paging();
            var query  = dbSet.AsQueryable();

            if (!model.LoginName.IsNull())
            {
                query = query.Where(a => a.LoginName.Equals(model.LoginName));
            }
            if (!model.SAction.IsNull())
            {
                query = query.Where(a => a.Action.Equals(model.SAction));
            }
            if (!model.SController.IsNull())
            {
                query = query.Where(a => a.Controller.Equals(model.SController));
            }
            if (model.time_min != null)
            {
                query = query.Where(a => model.time_min < a.ExecutionTime);
            }
            if (model.time_max != null)
            {
                query = query.Where(a => model.time_max > a.ExecutionTime);
            }
            //if (!model.LoginName.IsNull())
            //{
            //    query = query.Where(a => a.LoginName.Contains(model.LoginName));
            //}

            if (!paging.OrderBy.Any())
            {
                query = query.OrderByDescending(m => m.ExecutionTime);
            }
            return(await query.PaginationGetResult(paging));
        }
コード例 #11
0
 public Task <IResultModel> Query([FromQuery] AuditInfoQueryModel model)
 {
     return(_service.Query(model));
 }
コード例 #12
0
        public async Task <IResultModel <QueryResultModel <AuditInfoEntity> > > Query(AuditInfoQueryModel model)
        {
            var result = new ResultModel <QueryResultModel <AuditInfoEntity> >();

            var data = await _repository.Query(model);

            return(result.Success(data));
        }