C# 클래스 BudgetAnalyser.Engine.Ledger.ReconciliationBuilder

상속: IReconciliationBuilder
파일 보기 프로젝트 열기: Benrnz/BudgetAnalyser

공개 메소드들

메소드 설명
CreateNewMonthlyReconciliation ( System.DateTime reconciliationDateExclusive, BudgetModel budget, StatementModel statement ) : ReconciliationResult
FindAutoMatchingTransactions ( LedgerEntry ledgerEntry, bool includeMatchedTransactions = false ) : IEnumerable
FindAutoMatchingTransactions ( [ recon, bool includeMatchedTransactions = false ) : IEnumerable
IsAutoMatchingTransaction ( BudgetAnalyser.Engine.Statement.Transaction statementTransaction, IEnumerable ledgerTransactions ) : bool
ReconciliationBuilder ( [ logger ) : System

비공개 메소드들

메소드 설명
AddBalanceAdjustmentsForFutureTransactions ( StatementModel statement, System.DateTime reconciliationDate ) : void
AddNew ( BudgetModel budget, StatementModel statement, System.DateTime startDateIncl ) : void

This is effectively stage 2 of the Reconciliation process. Called by ReconciliationBuilder.CreateNewMonthlyReconciliation. It builds the contents of the new ledger line based on budget and statement input.

AutoMatchTransactionsAlreadyInPreviousPeriod ( List transactions, LedgerEntry previousLedgerEntry, List newLedgerTransactions ) : void

Match statement transaction with special automatching references to Ledger transactions.

CalculateDateForReconcile ( LedgerBook ledgerBook, System.DateTime reconciliationDate ) : System.DateTime

When creating a new reconciliation a start date is required to be able to search a statement for transactions between the start date and the reconciliation date specified (today or pay day). The start date should start from the previous ledger entry line or one month prior if no records exist.

CompileLedgersAndBalances ( LedgerBook parentLedgerBook ) : IEnumerable
CreateBalanceAdjustmentTasksIfRequired ( ) : void
CreateTasksToTransferFundsIfPaidFromDifferentAccount ( IEnumerable transactions ) : void
CreateToDoForAnyOverdrawnSurplusBalance ( ) : void

An overdrawn surplus balance is not valid, and indicates that one or more ledger buckets have been overdrawn. A transfer probably needs to be manually done by the user.

ExtractNarrative ( BudgetAnalyser.Engine.Statement.Transaction t ) : string
IncludeBudgetedAmount ( BudgetModel currentBudget, LedgerBucket ledgerBucket, System.DateTime reconciliationDate ) : List
IncludeStatementTransactions ( LedgerEntry newEntry, ICollection filteredStatementTransactions ) : IEnumerable
TransactionsToAutoMatch ( IEnumerable transactions, string autoMatchingReference ) : IEnumerable

메소드 상세

CreateNewMonthlyReconciliation() 공개 메소드

public CreateNewMonthlyReconciliation ( System.DateTime reconciliationDateExclusive, BudgetModel budget, StatementModel statement ) : ReconciliationResult
reconciliationDateExclusive System.DateTime
budget BudgetAnalyser.Engine.Budget.BudgetModel
statement BudgetAnalyser.Engine.Statement.StatementModel
리턴 ReconciliationResult

FindAutoMatchingTransactions() 공개 정적인 메소드

public static FindAutoMatchingTransactions ( LedgerEntry ledgerEntry, bool includeMatchedTransactions = false ) : IEnumerable
ledgerEntry LedgerEntry
includeMatchedTransactions bool
리턴 IEnumerable

FindAutoMatchingTransactions() 공개 정적인 메소드

public static FindAutoMatchingTransactions ( [ recon, bool includeMatchedTransactions = false ) : IEnumerable
recon [
includeMatchedTransactions bool
리턴 IEnumerable

IsAutoMatchingTransaction() 공개 정적인 메소드

public static IsAutoMatchingTransaction ( BudgetAnalyser.Engine.Statement.Transaction statementTransaction, IEnumerable ledgerTransactions ) : bool
statementTransaction BudgetAnalyser.Engine.Statement.Transaction
ledgerTransactions IEnumerable
리턴 bool

ReconciliationBuilder() 공개 메소드

public ReconciliationBuilder ( [ logger ) : System
logger [
리턴 System