using System; using System.Collections.Generic; using System.Threading.Tasks; using LCU.Library.Internal.DocumentIngestorModels.Entities; using LCU.Library.Internal.DocumentIngestorModels.Enums; using LCU.Library.Internal.DocumentIngestorModels.Models; using LCU.Library.Internal.DocumentIngestorModels.Models.Pagination; namespace LCU.API.Internal.DocumentIngestorLib.Repositories; public interface IMemberNotificationInfoRepository { Task> FindAsync(); Task FindByIdAsync(int id); Task> FindListByIdAsync(List ids); Task> FindByDocumentProcessingInfoIdAsync(int documentProcessingInfoId); Task> FindByNotificationStatusAsync(NotificationStatusTypes status); Task> FindSendableMemberNotificationsAsync(DateTime minimumUploadDate, int maxAttempts); Task AddAsync(MemberNotificationInfo memberNotificationInfo); Task AddListAsync(List memberNotificationInfos); void Update(MemberNotificationInfo memberNotificationInfo); void UpdateRange(IEnumerable memberNotificationInfos); void Remove(MemberNotificationInfo memberNotificationInfo); Task> GetMemberNotificationInfosByFilter(Filter filter); }