Method | Description | |
---|---|---|
ClearBucketAndTextFilters ( ) : ObservableCollection |
Clears the bucket and text filters.
|
|
Close ( ) : void |
Closes the currently loaded file. No warnings will be raised if there is unsaved data.
|
|
CreateAsync ( |
Create a new StatementModel.
|
|
DetectDuplicateTransactions ( ) : string |
Detects duplicate transactions in the current StatementModel and returns a summary string for displaying in the UI. Each individual duplicate transactions will be flagged by the Transaction.IsSuspectedDuplicate property.
|
|
FilterByBucket ( string bucketCode ) : ObservableCollection |
Returns a filtered list of Transactions by bucket code.
|
|
FilterBySearchText ( string searchText ) : ObservableCollection |
Returns a filtered list of Transactions using the provided search text. All following transaction fields are searched: Description, Reference1, Reference2, Reference3.
|
|
FilterTransactions ( GlobalFilterCriteria criteria ) : void |
Filters the transactions using the filter object provided.
|
|
FilterableBuckets ( ) : IEnumerable |
Provides a list of buckets for display purposes for filtering the transactions shown. This list will include a blank item to represent no filtering, and a [Uncategorised] to represent a filter to show only transactions with no bucket allocation.
|
|
ImportAndMergeBankStatementAsync ( string storageKey, |
Imports a bank's transaction extract and merges it with the currently loaded Budget Analyser Statement. This method should not be used without a StatementModel loaded. It is recommended to follow this up with ValidateWithCurrentBudgetsAsync.
|
|
Initialise ( |
Parses and loads the persisted state data from the provided object.
|
|
LoadAsync ( |
Loads a data source with the provided database reference data asynchronously.
|
|
PopulateGroupByBucketCollection ( bool groupByBucket ) : IEnumerable |
Populates a collection grouped by bucket with date sorted transactions contained in each group.
|
|
PreparePersistentStateData ( ) : |
Prepares the persistent state data to save to storage.
|
|
RemoveTransaction ( BudgetAnalyser.Engine.Statement.Transaction transactionToRemove ) : void |
Removes the provided transaction from the currently loaded Budget Analyser Statement.
|
|
SaveAsync ( |
Saves the application database asynchronously. This may be called using a background worker thread.
|
|
SavePreview ( ) : void |
Called before Save is called. This will be called on the UI Thread. Objects can optionally add some context data that will be passed to the SaveAsync method call. This can be used to finalise any edits or prompt the user for closing data, ie, a "what-did-you-change" comment; this can't be done during save as it may not be called using the UI Thread.
|
|
SplitTransaction ( BudgetAnalyser.Engine.Statement.Transaction originalTransaction, decimal splinterAmount1, decimal splinterAmount2, |
Splits the provided transaction into two. The provided transactions is removed, and two new transactions are created. Both transactions must add up to the existing transaction amount.
|
|
TransactionManagerService ( [ bucketRepository, [ statementRepository, [ logger, [ monitorableDependencies ) : System |
Initializes a new instance of the TransactionManagerService class.
|
|
ValidateModel ( StringBuilder messages ) : bool |
Validates the model owned by the service.
|
|
ValidateWithCurrentBudgetsAsync ( BudgetCollection budgets = null ) : Task |
Validates the currently loaded StatementModel against the provided budgets and ensures all buckets used by the transactions exist in the budgets. This is performed asynchronously. This method can be called when a budget is loaded or changed or when a new Budget Analyser Statement is loaded.
|
Method | Description | |
---|---|---|
MatchTransactionText ( BudgetAnalyser.Engine.Statement.Transaction t, string textFilter ) : bool | ||
NewDataAvailable ( ) : void | ||
ResetTransactionsCollection ( ) : void |
public ClearBucketAndTextFilters ( ) : ObservableCollection |
||
return | ObservableCollection |
public CreateAsync ( |
||
applicationDatabase | ||
return | System.Threading.Tasks.Task |
public DetectDuplicateTransactions ( ) : string | ||
return | string |
public FilterByBucket ( string bucketCode ) : ObservableCollection |
||
bucketCode | string |
/// The bucket code as text. This can be null or return all, and
/// |
return | ObservableCollection |
public FilterBySearchText ( string searchText ) : ObservableCollection |
||
searchText | string | The search text. Minimum 3 characters. |
return | ObservableCollection |
public FilterTransactions ( GlobalFilterCriteria criteria ) : void | ||
criteria | GlobalFilterCriteria | |
return | void |
public ImportAndMergeBankStatementAsync ( string storageKey, |
||
storageKey | string | |
account | ||
return | System.Threading.Tasks.Task |
public Initialise ( |
||
stateData | The state data loaded from persistent storage. | |
return | void |
public LoadAsync ( |
||
applicationDatabase | ||
return | System.Threading.Tasks.Task |
public PopulateGroupByBucketCollection ( bool groupByBucket ) : IEnumerable |
||
groupByBucket | bool | True if the UI is currently showing the transactions grouped by bucket, false if not. |
return | IEnumerable |
public PreparePersistentStateData ( ) : |
||
return |
public RemoveTransaction ( BudgetAnalyser.Engine.Statement.Transaction transactionToRemove ) : void | ||
transactionToRemove | BudgetAnalyser.Engine.Statement.Transaction | The transaction to remove. |
return | void |
public SaveAsync ( |
||
applicationDatabase | ||
return | System.Threading.Tasks.Task |
public SplitTransaction ( BudgetAnalyser.Engine.Statement.Transaction originalTransaction, decimal splinterAmount1, decimal splinterAmount2, |
||
originalTransaction | BudgetAnalyser.Engine.Statement.Transaction | |
splinterAmount1 | decimal | |
splinterAmount2 | decimal | |
splinterBucket1 | ||
splinterBucket2 | ||
return | void |
public TransactionManagerService ( [ bucketRepository, [ statementRepository, [ logger, [ monitorableDependencies ) : System | ||
bucketRepository | [ | The bucket repository. |
statementRepository | [ | The statement repository. |
logger | [ | The logger. |
monitorableDependencies | [ | The dependency monitor manager |
return | System |
public ValidateModel ( StringBuilder messages ) : bool | ||
messages | StringBuilder | |
return | bool |
public ValidateWithCurrentBudgetsAsync ( BudgetCollection budgets = null ) : Task |
||
budgets | BudgetCollection | /// The current budgets. This must be provided at least once. It can be omitted when /// calling this method after the statement model has changed if the budget was previously provided. /// |
return | Task |