Files
monorepo/LCU.API.Internal.Dispatcher/LCU.Api.Internal.DispatcherLib/Repositories/IJobRepository.cs
T
2026-03-24 15:26:03 -05:00

35 lines
2.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using LCU.Library.Internal.DispatcherModels.Entities;
using LCU.Library.Internal.DispatcherModels.Enums;
using LCU.Library.Internal.DispatcherModels.Models;
using LCU.Library.Internal.DispatcherModels.Models.Results;
namespace LCU.Api.Internal.DispatcherLib.Repositories;
public interface IJobRepository
{
Task<PagedResult<Job>> FilteredListAsync(Filter filter,
int numberOfWorkItemExecutions,
int numberOfExecutionMessages);
Task<IEnumerable<Job>> ListAsync(int numberOfWorkItemExecutions, int numberOfExecutionMessages);
Task<IEnumerable<Job>> ListInactiveAsync(int numberOfWorkItemExecutions, int numberOfExecutionMessages);
Task<IEnumerable<Job>> ListInactiveExcludeSoftDeletedTrackedAsync(int numberOfWorkItemExecutions, int numberOfExecutionMessages);
Task<IEnumerable<Job>> ListSoftDeletedTrackedAsync(int numberOfWorkItemExecutions, int numberOfExecutionMessages, DateTime cutOffDate);
Task<Job> FindByIdAsync(int id, int numberOfWorkItemExecutions, int numberOfExecutionMessages);
Task<Job> FindByIdExcludingWorkItemsAsync(int id);
Task<Job> FindByWorkItemIdAsync(int workItemId,
int numberOfWorkItemExecutions,
int numberOfExecutionMessages);
Task<Job> FindByWorkItemIdExcludingWorkItemsAsync(int workItemId);
Task<Job> FindByWorkItemIdExcludingWorkItemsIncludeErrorRecipientsAsync(int workItemId);
Task<IEnumerable<Job>> FindJobsPastDateByStatuses(DateTime date,
int numberOfWorkItemExecutions,
int numberOfExecutionMessages,
List<JobStatus> jobStatuses);
Task<IEnumerable<Job>> FindJobsReadyToBeScheduled(DateTime date);
Task<Job> AddAsync(Job job);
Task<Job> Update(Job job);
void Remove(Job job);
}