using System.Collections.Generic; using LCU.API.Collections.CollectionsApiLib.Models; using LCU.API.Collections.RepoApi.Domain.Processing; using LCU.Shared.Collections.RepoApiLib.Models; using LCU.Shared.Collections.RepoApiLib.Models.Consumer; using LCU.Shared.Collections.RepoApiLib.Models.Settings; namespace LCU.API.Collections.RepoApi.Services.Producer { public interface IRepoAccountProcessorService { RepoAccount CreateRepoAccount(TemenosAccount account, TemenosCase recoveryCase, LoanDetail detail); void CheckForRejectedStatusChange(RepoAccount originalRepoAccount, RepoAccount updatedRepoAccount, Settings settings); RepoAccount UpdateRepoAccountFromParts(RepoAccountProcessingSlip slip); void UpdateRepoAccountDateClosed(RepoAccount repoAccount); void TryUpdateCollateralRetitleDate(RepoAccount repo, TemenosCase temenosCase); void AddAccountUpdateRecord(RepoAccountProcessingSlip slip); RepoCompanySelection CreateNewRepoCompanyAssignment(Collateral collateral, TemenosCase temenosCase, int? newRepoCompanyId); void TryUpdateOrCreateRepoCompanyAssignment(RepoAccount repoAccount, TemenosCase temenosCase, Settings settings); int? MapRepoAgentIdToRepoCompanyId(string repoAgentId, IReadOnlyCollection repoCompanies); } }