BudgetAnalyser.Engine.Services.BudgetMaintenanceService.EnsureAllBucketsUsedAreInBucketRepo C# (CSharp) Method

EnsureAllBucketsUsedAreInBucketRepo() private method

private EnsureAllBucketsUsedAreInBucketRepo ( ) : void
return void
        private void EnsureAllBucketsUsedAreInBucketRepo()
        {
            // Make sure all buckets are in the bucket repo.
            IEnumerable<BudgetBucket> buckets = Budgets.SelectMany(b => b.Expenses.Select(e => e.Bucket))
                .Union(Budgets.SelectMany(b => b.Incomes.Select(i => i.Bucket)))
                .Distinct();

            foreach (var budgetBucket in buckets)
            {
                var copyOfBucket = budgetBucket;
                BudgetBucketRepository.GetOrCreateNew(copyOfBucket.Code, () => copyOfBucket);
            }
        }