public InvestmentResult CalculateROI([FromBody] CalculateROIRequest request) { var investmentResult = _investmentService.CalculateResult(request.InvestmentDetails); var exchangedResult = new InvestmentResult { InvestmentReturn = _exchangeRateService.Exchange("AUD", "USD", investmentResult.InvestmentReturn), Fees = _exchangeRateService.Exchange("AUD", "USD", investmentResult.Fees) }; return(exchangedResult); }
public InvestmentResult CalculateResult(List <InvestmentDetail> investmentDetails) { InvestmentResult result = new InvestmentResult(); foreach (var investmentDetail in investmentDetails) { var investmentOptionId = investmentDetail.InvestmentOptionId; (var investmentReturn, var fee) = _returnCalculatorDictionary[(InvestmentOptionEnum)investmentOptionId] .Calculate(investmentDetail.Amount, investmentDetail.Percentage); result.InvestmentReturn += investmentReturn; result.Fees += fee; } return(result); }
public static InvestmentResult GetInvestmentResult(int recordId) { DataRow ukAllData = MyExcel.GetDetails("f_3", recordId); InvestmentResult data = new InvestmentResult(); data.fundId = ukAllData[0].ToString(); data.fundName = ukAllData[3].ToString(); data.foundatationDate = ukAllData[4].ToString(); data.fundSizeAtFinalClosing = "0"; data.activesUnderManagement = ukAllData[6].ToString(); data.dateOfData = ukAllData[7].ToString(); data.fundStatus = ukAllData[8].ToString(); data.numberOfInvestment = ukAllData[9].ToString(); data.numberOfExits = ukAllData[10].ToString(); data.numberOfCompaniesInPortfolio = ukAllData[11].ToString(); data.targetIRR = ukAllData[12].ToString(); data.factIRR = ukAllData[13].ToString(); data.dryPowder = ukAllData[14].ToString(); data.MedianValueOfInvesmentRound = ukAllData[15].ToString(); data.ManagementCompany = ukAllData[16].ToString(); data.ManagementCompanyId = MapUKToId_HAckED(ukAllData[16].ToString(), 0).ToString(); data.Strategy = ukAllData[5].ToString(); return(data); }
private void CheckEquality(InvestmentResult expectedResult, InvestmentResult actualResult) { Assert.AreEqual(expectedResult.GrossAmount, actualResult.GrossAmount, nameof(actualResult.GrossAmount)); Assert.AreEqual(expectedResult.TaxesAmount, actualResult.TaxesAmount, nameof(actualResult.TaxesAmount)); }
public void TestInvestmentCalculations(InvestmentParameter parameter, InvestmentResult expectedResult) { var actualResult = new InvestmentSimulator().Simulate(parameter); CheckEquality(expectedResult, actualResult); }
public ActionResult Result(int id) { InvestmentResult data = MyExcel.GetInvestmentResult(id); return(View(data)); }
public IActionResult CalculateInvestment(StockHoldingsVM vm) { InvestmentResult investResult = new InvestmentResult(vm.Holdings, vm.ContributionAmount); return(View(investResult)); }