public List <ProjectFundingSourceBudget> ToProjectFundingSourceBudgets() { // ReSharper disable PossibleInvalidOperationException if (CalendarYearBudgets != null) { return (CalendarYearBudgets.Where(x => x.IsRelevant ?? false) .Select(x => new ProjectFundingSourceBudget(ProjectID, FundingSourceID, x.CalendarYear, x.ProjectedAmount ?? 0, CostTypeID)) .ToList()); } return(new List <ProjectFundingSourceBudget>() { new ProjectFundingSourceBudget(ProjectID, FundingSourceID, null, ProjectedAmount ?? 0, CostTypeID) }); // ReSharper restore PossibleInvalidOperationException }
public List <ProjectFundingSourceBudgetUpdate> ToProjectFundingSourceBudgetUpdates(ProjectUpdateBatch projectUpdateBatch) { var fundingSource = HttpRequestStorage.DatabaseEntities.FundingSources.Single(x => x.FundingSourceID == FundingSourceID); if (projectUpdateBatch.ProjectUpdate.FundingType == FundingType.BudgetVariesByYear) { // ReSharper disable PossibleInvalidOperationException return (CalendarYearBudgets.Where(x => x.ProjectedAmount.HasValue) .Select(x => new ProjectFundingSourceBudgetUpdate(projectUpdateBatch, fundingSource, x.CalendarYear, x.ProjectedAmount ?? 0, CostTypeID)) .ToList()); // ReSharper restore PossibleInvalidOperationException } else { var projectFundingSourceBudgetUpdate = new List <ProjectFundingSourceBudgetUpdate>( ); projectFundingSourceBudgetUpdate.Add(new ProjectFundingSourceBudgetUpdate(projectUpdateBatch, fundingSource, null, ProjectedAmount ?? 0, CostTypeID)); return(projectFundingSourceBudgetUpdate); } }
public void AddProjectFundingSourceBudgetUpdate(ProjectFundingSourceBudgetUpdate projectFundingSourceBudgetUpdate) { Check.Require(projectFundingSourceBudgetUpdate.ProjectUpdateBatch.ProjectID == ProjectID && projectFundingSourceBudgetUpdate.FundingSourceID == FundingSourceID, "Row doesn't align with collection mismatch ProjectID and FundingSourceID"); CalendarYearBudgets.Add(new CalendarYearBudgetAmounts(projectFundingSourceBudgetUpdate.CalendarYear ?? 0, projectFundingSourceBudgetUpdate.ProjectedAmount)); }
public void AddProjectFundingSourceBudget(ProjectFundingSourceBudget projectFundingSourceBudget) { Check.Require(projectFundingSourceBudget.ProjectID == ProjectID && projectFundingSourceBudget.FundingSourceID == FundingSourceID, "Row doesn't align with collection mismatch ProjectID and FundingSourceID"); CalendarYearBudgets.Add(new CalendarYearBudgetAmounts(projectFundingSourceBudget.CalendarYear ?? 0, projectFundingSourceBudget.SecuredAmount, projectFundingSourceBudget.TargetedAmount)); }