Files
monorepo/LCU.API.Internal.RepoApi/LCU.API.Internal.RepoApi.Repos/Repositories/IRepoAccountRepository.cs
T
2026-03-13 09:27:34 -05:00

28 lines
1.7 KiB
C#

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using LCU.API.Internal.RepoApi.Repos.Models;
using LCU.API.Internal.RepoApi.Repos.Models.Producer;
using LCU.API.Internal.RepoApi.Repos.Models.Results;
using LCU.Library.Internal.RepoApiModels.Models.Requests;
namespace LCU.API.Internal.RepoApi.Repos.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<RepoAccountProcessingRequest>> GetItemsForProcessing(IReadOnlyCollection<string> watchStatusList);
}
}