コード例 #1
0
        public async Task <LogItemsListModel> GetLogs(LogsQueryModel filter)
        {
            var logs = _context.AnalysisLogs
                       .Where(x => x.AnalysisQueueId == filter.QueueId)
                       .OrderBy(x => x.Id);

            var total = await logs.CountAsync();

            var paginated = await logs
                            .Skip(filter.PageSize *(filter.Page - 1))
                            .Take(filter.PageSize)
                            .ToListAsync();

            var suIds = paginated.Where(x => x.AnalyzedUnitType != StatUnitTypes.EnterpriseGroup)
                        .Select(x => x.AnalyzedUnitId);
            var egIds = paginated.Where(x => x.AnalyzedUnitType == StatUnitTypes.EnterpriseGroup)
                        .Select(x => x.AnalyzedUnitId);

            var names = (await _context.StatisticalUnits
                         .Where(su => suIds.Contains(su.RegId))
                         .ToDictionaryAsync(x => (x.RegId, x.UnitType), x => x.Name))
                        .Concat(await _context.EnterpriseGroups
                                .Where(eg => egIds.Contains(eg.RegId))
                                .ToDictionaryAsync(x => (x.RegId, StatUnitTypes.EnterpriseGroup), x => x.Name))
                        .ToDictionary(x => x.Key, x => x.Value);

            var result = paginated.Select(x => new LogItemModel
            {
                Id = x.Id,
                SummaryMessages = x.SummaryMessages.Split(';'),
                UnitId          = x.AnalyzedUnitId,
                UnitName        = names[(x.AnalyzedUnitId, x.AnalyzedUnitType)],
コード例 #2
0
        public ActionResult GetLogsListByPage(LogsQueryModel logsQuery)
        {
            var list = _logsServer.GetLogsByPage(logsQuery, out int Total);

            return(Json(new MessageModel <PageModel <Logs> >()
            {
                success = true, msg = "数据获取成功",
                response = new PageModel <Logs>()
                {
                    TotalCount = Total,
                    data = list.ToList(),
                }
            }));
        }
コード例 #3
0
 public async Task <IActionResult> GetQueueLog(LogsQueryModel query) => Ok(await _svc.GetLogs(query));