Example #1
0
        public BudgetAccountModelHandler(RepositoryContext dbContext, IConverter modelConverter, IEventPublisher eventPublisher, DateTime statusDate, bool includeBudgetInformation, bool includePostingLines, bool fromPostingLineModelHandler = false)
            : base(dbContext, modelConverter, eventPublisher, statusDate, includePostingLines, includePostingLines ? new PostingLineModelHandler(dbContext, modelConverter, eventPublisher, new DateTime(statusDate.AddYears(-1).Year, 1, 1), statusDate, false, false) : null, fromPostingLineModelHandler)
        {
            _includeBudgetInformation = includeBudgetInformation;

            if (_includeBudgetInformation)
            {
                _budgetInfoModelHandler = new BudgetInfoModelHandler(dbContext, modelConverter, EventPublisher, StatusDate);
            }
        }
Example #2
0
        private static async Task <List <BudgetInfoModel> > OnReadAsync(BudgetAccountModel budgetAccountModel, IReadOnlyCollection <BudgetInfoModel> budgetInfoModelCollection, BudgetInfoModelHandler budgetInfoModelHandler)
        {
            NullGuard.NotNull(budgetAccountModel, nameof(budgetAccountModel));

            if (budgetInfoModelCollection == null || budgetInfoModelHandler == null)
            {
                return(budgetAccountModel.BudgetInfos);
            }

            if (budgetAccountModel.BudgetInfos == null)
            {
                budgetAccountModel.ExtractBudgetInfos(budgetInfoModelCollection);
            }

            return((await budgetInfoModelHandler.ReadAsync(budgetAccountModel.BudgetInfos)).ToList());
        }