private void EnterFinancialData(IncomeStatementCollection incs, BalanceSheetCollection bals, CompanyAnnualData cad, int year, int yearsToLoad) { CompanyAnnualDataBL.Instance.UpdateCompanyAnnual(cad); for (int y = year; y > year - yearsToLoad; y--) { IncomeStatementBL.Instance.UpdateIncomeStatement(incs.Find(y)); BalanceSheetBL.Instance.UpdateBalanceSheet(bals.Find(y)); } }
public FreeCashFlowCollection CalculateFreeCashFlow(string symbol, int year, int yrsToProject, IncomeStatementCollection incomeStatementProjection) { FreeCashFlowCollection fcfs = null; MarketParameters mktParms = MarketParametersBL.Instance.GetMarketParameters(); BalanceSheetProjectionBL bsProjectionBL = new BalanceSheetProjectionBL(); BalanceSheetCollection bsProjections = bsProjectionBL.ProjectBalanceSheets(symbol, year, yrsToProject, incomeStatementProjection); if (incomeStatementProjection != null && bsProjections != null) { fcfs = new FreeCashFlowCollection(); for (int i = year + 1; i < year + yrsToProject + 1; i++) { IncomeStatement inc = incomeStatementProjection.Find(i); BalanceSheet bs = bsProjections.Find(i); BalanceSheet lastYrBs = bsProjections.Find(i - 1); if (inc != null && bs != null) { fcfs.Add(new FreeCashFlow( symbol, i, inc.NOP(mktParms.TaxRate), inc.NetIncome, (bs.Ppe - lastYrBs.Ppe + inc.Depreciation), bs.WorkingCapital, bs.WorkingCapital - lastYrBs.WorkingCapital, inc.Depreciation, bs.InvestedCapital )); } } } return(fcfs); }