Class BulkTransactionLoader
When importing lots (10k+) of transactions (to bulk delete, change status/etc) loading them all individually can take hours.
This bulk loader is designed to pre-load as much of each of them in bulk at once, so when they individually load there is less to do -
typically this can reduce 30k transactions from 3 hours to 5 mins
Inheritance
BulkTransactionLoader
Assembly: LemonEdge.API.Core.FinancialServices.dll
Syntax
public class BulkTransactionLoader : BulkProcessorLoader<ITransactionProcessor>, IDisposable
Constructors
BulkTransactionLoader(ITransactionProcessor)
Declaration
public BulkTransactionLoader(ITransactionProcessor source)
Parameters
Methods
InternalLoad(IEnumerable<ITransactionProcessor>, IEntityUpdater, IReadOnlyCache, UserInfo)
Declaration
protected override Task InternalLoad(IEnumerable<ITransactionProcessor> otherProcessors, IEntityUpdater context, IReadOnlyCache cache, UserInfo user)
Parameters
Returns
Overrides
TryGetBulkLoadedPostingAllocations(Guid, out ConcurrentDictionary<Guid, List<GLPostingAllocated>>)
Declaration
public bool TryGetBulkLoadedPostingAllocations(Guid transactionId, out ConcurrentDictionary<Guid, List<GLPostingAllocated>> allocations)
Parameters
Returns
TryGetBulkLoadedPostings(Guid, out ConcurrentDictionary<Guid, List<GLPosting>>)
Declaration
public bool TryGetBulkLoadedPostings(Guid transactionId, out ConcurrentDictionary<Guid, List<GLPosting>> postings)
Parameters
Returns
TryGetBulkLoadedSubTransactions(Guid, out List<ITransaction>)
Declaration
public bool TryGetBulkLoadedSubTransactions(Guid transactionId, out List<ITransaction> subTransactions)
Parameters
Returns
TryGetBulkLoadedTransactionAllocations(Guid, out ConcurrentDictionary<Guid, List<TransactionAllocated>>)
Declaration
public bool TryGetBulkLoadedTransactionAllocations(Guid transactionId, out ConcurrentDictionary<Guid, List<TransactionAllocated>> allocations)
Parameters
Returns
TryGetBulkLoadedTransactionLinks(Guid, out List<ITransactionLink>)
Declaration
public bool TryGetBulkLoadedTransactionLinks(Guid transactionId, out List<ITransactionLink> links)
Parameters
Returns
Implements
Extension Methods