public ActionResult <string> Get(int id)
        {
            double initialInvst = 200000;
            double discountRate = .04;

            List <double> yearlyCashFlows = new List <double>();

            yearlyCashFlows.Add(50000);
            yearlyCashFlows.Add(50000);
            yearlyCashFlows.Add(50000);
            yearlyCashFlows.Add(50000);
            yearlyCashFlows.Add(50000);

            yearlyCashFlows.Add(45000);
            yearlyCashFlows.Add(45000);
            yearlyCashFlows.Add(45000);
            yearlyCashFlows.Add(45000);
            yearlyCashFlows.Add(45000);

            FinancialReturnInputs finROIInputs = new FinancialReturnInputs();

            finROIInputs.InitialInvestment = initialInvst;
            finROIInputs.CashInFlows       = yearlyCashFlows;
            finROIInputs.DiscountRate      = discountRate;

            ///Initailizing NPVCalculation class with the parameters of Initail investment, discountrate, yearly cash flow, number of years
            ///then the Execute method is called and result is found in Result property of the class.
            ICalcuation calcuationNPV = CalculationFactory.Instance().GetCalculation(CalculationTypeEnum.NPV, finROIInputs);
            bool        executed      = calcuationNPV.Execute();

            return(calcuationNPV.Result.ToString());
        }
Exemple #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World Calculation Engine!");
            Console.WriteLine("-------------------------------");
            double initialInvst = 10000;
            double discountRate = .1;
            double yearlycashIn = 3000;
            double noofYears    = 5;
            FinancialReturnInputs finROIInputs = new FinancialReturnInputs();

            finROIInputs.IsCashinFlowFixed = true;
            finROIInputs.DiscountRate      = discountRate;
            finROIInputs.InitialInvestment = initialInvst;
            finROIInputs.NumberofYears     = noofYears;
            finROIInputs.FixedCashinFlow   = yearlycashIn;
            ///Initailizing NPVCalculation class with the parameters of Initail investment, discountrate, yearly cash flow, number of years
            ///then the Execute method is called and result is found in Result property of the class.
            ICalcuation calcuationNPV = CalculationFactory.Instance().GetCalculation(CalculationTypeEnum.NPV, finROIInputs);
            bool        executed      = calcuationNPV.Execute();

            Console.WriteLine(String.Format("With Initial Investment {0} and Discount Rate {1} and cashInFlow {2} , noof years{3} : NPV={4}", initialInvst, discountRate, yearlycashIn, noofYears, calcuationNPV.Result));

            initialInvst = 200000;
            discountRate = .04;

            List <double> yearlyCashFlows = new List <double>();

            yearlyCashFlows.Add(50000);
            yearlyCashFlows.Add(50000);
            yearlyCashFlows.Add(50000);
            yearlyCashFlows.Add(50000);
            yearlyCashFlows.Add(50000);

            yearlyCashFlows.Add(45000);
            yearlyCashFlows.Add(45000);
            yearlyCashFlows.Add(45000);
            yearlyCashFlows.Add(45000);
            yearlyCashFlows.Add(45000);


            finROIInputs.IsCashinFlowFixed = false;
            finROIInputs.DiscountRate      = discountRate;
            finROIInputs.InitialInvestment = initialInvst;
            finROIInputs.CashInFlows       = yearlyCashFlows;
            ;

            ///Initailizing NPVCalculation class with the parameters of Initail investment, discountrate, yearly cash flow, number of years
            ///then the Execute method is called and result is found in Result property of the class.
            ICalcuation calcuationNPV2 = CalculationFactory.Instance().GetCalculation(CalculationTypeEnum.NPV, finROIInputs);
            bool        executed2      = calcuationNPV2.Execute();

            Console.WriteLine(String.Format("With Initial Investment {0} and Discount Rate {1} and cashInFlow {2} , noof years{3} : IRR={4}", initialInvst, discountRate, yearlycashIn, noofYears, calcuationNPV2.Result));

            finROIInputs.IsCashinFlowFixed = true;
            finROIInputs.DiscountRate      = discountRate;
            finROIInputs.InitialInvestment = initialInvst;
            finROIInputs.NumberofYears     = noofYears;
            finROIInputs.FixedCashinFlow   = yearlycashIn;
            finROIInputs.MaxDiscountRate   = .9;
            ICalcuation calculationIRR = CalculationFactory.Instance().GetCalculation(CalculationTypeEnum.IRR, finROIInputs);
            bool        executedIRR    = calculationIRR.Execute();

            Console.WriteLine(String.Format("With Initial Investment {0} and Discount Rate {1} and cashInFlow {2} , noof years{3} : IRR={4}", initialInvst, discountRate, yearlycashIn, noofYears, calculationIRR.Result));

            Console.ReadLine();
        }