using System.Collections.Generic; using System.Threading.Tasks; using LCU.API.Collections.RepoApi.Models; using LCU.API.Collections.RepoApi.Models.Filters; using LCU.API.Collections.RepoApi.Models.Requests; using LCU.Shared.Collections.RepoApiLib.Models; using LCU.Shared.Collections.RepoApiLib.Models.Producer; using LCU.Shared.Collections.RepoApiLib.Models.Results; namespace LCU.API.Collections.RepoApi.Services { public interface IRepoAccountService { Task> ListAll(PageFilter pageFilter, RepoAccountPostFilter repoAccountFilter = null); Task FindByAuctionAssignmentId(int auctionAssignmentId); Task SaveAsync(RepoAccount repoAccount); Task Get(int id); Task> GetByAccountNo(string accountNo); Task GetNewestOpenAccount(string accountNo); Task> SearchRepoAccounts(string searchPhrase, int maxSearchResults); Task UpdateAsync(RepoAccount repoAccount, AppUser currentUser); Task DeleteAsync(int id); Task> GetItemsForProcessing(); RepoAccount SelectFirstOpenAccount(IReadOnlyCollection repoAccounts); } }