BudgetAnalyser.Engine.Services.BurnDownChartsService.BuildAllCharts C# (CSharp) Method

BuildAllCharts() public method

public BuildAllCharts ( StatementModel statementModel, BudgetModel budgetModel, LedgerBook ledgerBookModel, GlobalFilterCriteria criteria ) : BurnDownCharts
statementModel BudgetAnalyser.Engine.Statement.StatementModel
budgetModel BudgetAnalyser.Engine.Budget.BudgetModel
ledgerBookModel BudgetAnalyser.Engine.Ledger.LedgerBook
criteria GlobalFilterCriteria
return BudgetAnalyser.Engine.Reports.BurnDownCharts
        public BurnDownCharts BuildAllCharts(
            StatementModel statementModel,
            BudgetModel budgetModel,
            LedgerBook ledgerBookModel, 
            GlobalFilterCriteria criteria)
        {
            if (criteria == null) throw new ArgumentNullException(nameof(criteria));
            if (criteria.Cleared) throw new ArgumentException("There is no date range criteria set. This graph is intended for one month of data.");
            if (criteria.EndDate == null || criteria.BeginDate == null)
            {
                throw new ArgumentException("There is no date range set; either the begin or end date is not set. This graph is intended for one month of data.");
            }
            if (criteria.EndDate.Value.Subtract(criteria.EndDate.Value).Days > 31)
            {
                throw new ArgumentException("The date range is too great for this graph. This graph is intended for one month of data.");
            }
            this.chartsBuilder.Build(criteria, statementModel, budgetModel, ledgerBookModel);
            return this.chartsBuilder.Results;
        }