Files
2026-04-20 14:47:24 -05:00

27 lines
1.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using LCU.Shared.Collections.RepoApiLib.Models;
using LCU.Shared.Collections.RepoApiLib.Models.Producer;
using LCU.Shared.Collections.RepoApiLib.Models.Results;
namespace LCU.Shared.Collections.RepoApiLib.Repositories
{
public interface IRepoAccountRepository
{
Task<PagedResult<RepoAccount>> ListAsync(List<int?> filterRepoIdList, int filterPage, int filterLimit, string status = null, string auctionHouseId = null, int? repoCompanyId = null, bool? onlyOpenAccounts = null);
Task<IReadOnlyCollection<RepoAccount>> ListByAuctionVinAsync(string unformattedVin);
Task<IReadOnlyCollection<RepoAccount>> FindByCurrentStatus(string currentStatus);
Task<IReadOnlyCollection<RepoAccount>> FindByStatusChangeInPeriod(string status, DateTime lowDateTime, DateTime highDateTime, string previousStatus = null);
Task<RepoAccount> AddAsync(RepoAccount repoAccount);
Task<RepoAccount> FindByIdAsync(int id);
Task<IReadOnlyCollection<RepoAccount>> FindByRepoIdAsync(List<string> filterRepoIdList);
Task<IReadOnlyCollection<RepoAccount>> SearchRepoAccounts(string searchPhrase, int maxLimit);
Task<IReadOnlyCollection<RepoAccount>> FindByAccountNoAsync(string accountNo);
Task<RepoAccount> FindByAuctionAssignmentIdAsync(int id);
Task<IReadOnlyCollection<RepoAccount>> GetCurrentAccountsOnHoldAtAuction();
void Update(RepoAccount eventAlert);
void Remove(RepoAccount eventAlert);
Task<IReadOnlyCollection<ProcessingItem>> GetItemsForProcessing(IReadOnlyCollection<string> watchStatusList);
}
}