Пример #1
0
        public async Task <PagedResultDto <AlarmLog> > GetPaginatedResult(GetLogInput input)
        {
            var logs = await Repository.Alarmlog.GetAllListAsync(X => X.Cid == input.Id);

            if (!string.IsNullOrEmpty(input.FilterText))
            {
                logs = logs.Where(X => X.Sid.Contains(input.FilterText) || X.Sname.Contains(input.FilterText) || X.Textlog.Contains(input.FilterText) || X.Alarmtime.Contains(input.FilterText)).ToList();
            }
            var count = logs.Count();

            switch (input.FilterText)
            {
            case "sid":
                logs = logs.OrderBy(S => S.Sid).ToList();
                break;

            case "sid_desc":
                logs = logs.OrderByDescending(S => S.Sid).ToList();
                break;

            case "sname":
                logs = logs.OrderBy(S => S.Sname).ToList();
                break;

            case "sname_desc":
                logs = logs.OrderByDescending(S => S.Sname).ToList();
                break;

            case "text":
                logs = logs.OrderBy(S => S.Textlog).ToList();
                break;

            case "text_desc":
                logs = logs.OrderBy(S => S.Textlog).ToList();
                break;

            case "time":
                logs = logs.OrderBy(S => S.Alarmtime).ToList();
                break;

            case "time_desc":
                logs = logs.OrderByDescending(S => S.Alarmtime).ToList();
                break;

            default:
                logs = logs.OrderByDescending(X => X.Id).ToList();
                break;
            }
            var dtos = new PagedResultDto <AlarmLog>
            {
                TotalCount     = count,
                CurrentPage    = input.CurrentPage,
                MaxResultCount = input.MaxResultCount,
                Data           = logs,
                FilterText     = input.FilterText,
                Sorting        = input.Sorting
            };

            return(dtos);
        }
Пример #2
0
        public ResponseInfoModel Getinfo([FromUri] GetLogInput input)
        {
            ResponseInfoModel json = new ResponseInfoModel()
            {
                Success = 1, Result = new object()
            };

            try
            {
                CheckModelState();
                string keyword  = (input.Keyword ?? "").Trim();
                int    pageSize = _systemConfigurationService.GetPageSize();
                int    limit    = pageSize;
                int    offset   = pageSize * (input.pageIndex - 1);
                int    total;
                var    output = _logService.GetPageList(limit, offset, out total, a => (string.IsNullOrEmpty(keyword) || (a.User.UserName.Contains(keyword) || a.ActionContent.Contains(keyword))) && (input.LogUserID == 0 || a.LogUserID == input.LogUserID), false, a => a.LogTime).Include(a => a.User).ToList();

                json.Result = new PagingInfo()
                {
                    totalCount = total, pageCount = (int)Math.Ceiling((decimal)total / pageSize), pageSize = pageSize, list = output.MapTo <List <GetLogOutput> >()
                };;
            }
            catch (Exception e)
            {
                DisposeUserFriendlyException(e, ref json, "api/log/getinfo", LocalizationConst.QueryFail);
            }
            return(json);
        }
 public async Task<IActionResult> Record(GetLogInput input)
 {            
     var dtos=await Logservice.GetPaginatedResult(input);
     var recordVM = new recordVM();
     recordVM.DataLogs=dtos;
     recordVM.cid=input.Id;
     return View(recordVM);
 }
Пример #4
0
        public async Task <Page <JobLog> > GetJobLogsAsync(GetLogInput input)
        {
            if (string.IsNullOrEmpty(input.JobKey))
            {
                throw new BusinessException($"JobKey(任务名.组名 不能为空)");
            }
            var dbContext  = AdmBootsApp.ServiceProvider.GetService(typeof(AdmDbContext)) as AdmDbContext;
            var result     = dbContext.JobLogs.AsQueryable().Where(t => t.JobName == input.JobKey);
            var pageResult = result.PageAndOrderBy(input);

            return(new Page <JobLog>(input, result.Count(), await pageResult.ToListAsync()));
        }
Пример #5
0
        public async Task <Page <JobLog> > GetJobLogsAsync(GetLogInput input)
        {
            if (string.IsNullOrEmpty(input.JobKey))
            {
                throw new BusinessException($"JobKey(任务名.组名 不能为空)");
            }
            var dbContext  = IocManager.Current.Resolve <AdmDbContext>();
            var result     = dbContext.JobLogs.AsQueryable().Where(t => t.JobName == input.JobKey);
            var pageResult = result.PageAndOrderBy(input);

            return(new Page <JobLog>(input, result.Count(), await pageResult.ToListAsync()));
        }
Пример #6
0
        public async Task <IActionResult> GetJobLog([FromQuery] GetLogInput input)
        {
            var result = await _schedulerCenter.GetJobLogsAsync(input);

            return(Ok(ResponseBody.From(result)));
        }