BudgetAnalyser.Engine.Services.TransactionManagerService.FilterByBucket C# (CSharp) Method

FilterByBucket() public method

Returns a filtered list of Transactions by bucket code.
public FilterByBucket ( string bucketCode ) : ObservableCollection
bucketCode string /// The bucket code as text. This can be null or return all, and /// to /// only return transactions without a bucket classification. ///
return ObservableCollection
        public ObservableCollection<Transaction> FilterByBucket(string bucketCode)
        {
            if (bucketCode == TransactionConstants.UncategorisedFilter)
            {
                return this.transactions = new ObservableCollection<Transaction>(StatementModel.Transactions.Where(t => t.BudgetBucket == null));
            }

            var bucket = bucketCode == null ? null : this.bucketRepository.GetByCode(bucketCode);

            if (bucket == null)
            {
                return new ObservableCollection<Transaction>(StatementModel.Transactions);
            }

            var paternityTest = new BudgetBucketPaternity();
            return this.transactions = new ObservableCollection<Transaction>(StatementModel.Transactions.Where(t => paternityTest.OfSameBucketFamily(t.BudgetBucket, bucket)));
        }