public async Task <DateTimeOffset?> GetLastJobStepEndTime(long jobId) { var time = await JobSteps .Where(step => step.JobId == jobId && step.EndTime != null) .Select(step => step.EndTime) .OrderByDescending(endTime => endTime) .FirstOrDefaultAsync(); return(time); }
public async Task <Dictionary <JobStepStatus, int> > GetJobStepsStatus(long jobId) { return(await JobSteps.Where(step => step.JobId == jobId) .GroupBy(step => step.Status) .Select(grp => new { grp.Key, Count = grp.Count() }) .ToDictionaryAsync(item => item.Key, item => item.Count)); }
public async Task <List <JobStepModel> > GetJobSteps(List <Guid> messageIds) { return(await JobSteps.Where(step => messageIds.Contains(step.MessageId)).ToListAsync()); }