Example #1
0
        public async Task <IResponseEntity> GetListAsync(RequestEntity <TaskQzFilterRequest> req)
        {
            var key         = req.Filter?.Key;
            var withDisable = req.Filter != null ? req.Filter.WithDisable : false;
            var list        = await _SysTaskQzRepository.Select
                              .WhereIf(key.IsNotNull(), a => (a.Name.Contains(key) || a.Remark.Contains(key) || a.JobGroup.Contains(key)))
                              .WhereIf(!withDisable, a => a.IsDisabled == false)
                              .Count(out var total)
                              .OrderBy(true, a => a.CreatedTime)
                              .Page(req.CurrentPage, req.PageSize)
                              .ToListAsync();

            var data = new ResponsePageEntity <TaskQzForListResponse>()
            {
                List  = _mapper.Map <List <TaskQzForListResponse> >(list),
                Total = total
            };

            data.List.ToList().ForEach(x => {
                x.TriggerState = _schedulerCenter.GetJobRunTriggerState(x.Id.ToString(), x.JobGroup);
                x.NextFireTime = _schedulerCenter.GetJobNextFireTime(x.Id.ToString(), x.JobGroup);
            });
            return(ResponseEntity.Ok(data));
        }