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); } }
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()); }