public void GetInvestmentDetailsForInvestmentId() { CreateFakeInvestmentContext(); InvestmentController controller = new InvestmentController(db); // get the investments for userId = 1 InvestmentDetail2 investmentDetails = controller.GetInvestmentDetail(1); // Asserts Assert.IsNotNull(investmentDetails); Assert.AreEqual(5, investmentDetails.Shares); Assert.AreEqual(14, investmentDetails.CostBasisPerShare); Assert.AreEqual(55, investmentDetails.CurrentPrice); Assert.AreEqual(InvestmentHelper.GetCurrentValue(investmentDetails.Shares, investmentDetails.CurrentPrice), investmentDetails.CurrentValue); Assert.AreEqual(InvestmentHelper.GetTerm(investmentDetails.PurchaseDate), investmentDetails.Term); Assert.AreEqual(InvestmentHelper.GetNetGainLoss(investmentDetails.CurrentValue, investmentDetails.Shares, investmentDetails.CostBasisPerShare), investmentDetails.NetGainLoss); }
public InvestmentDetail2 GetInvestmentDetail(int investmentId) { InvestmentDetail investmentDetail = db.InvestmentDetails.Where(x => x.InvestmentId == investmentId).FirstOrDefault(); if (investmentDetail == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } InvestmentDetail2 returnDetail = new InvestmentDetail2(); returnDetail.Id = investmentDetail.Id; returnDetail.InvestmentId = investmentDetail.InvestmentId; returnDetail.CostBasisPerShare = investmentDetail.CostBasisPerShare; returnDetail.CurrentPrice = investmentDetail.CurrentPrice; returnDetail.Shares = investmentDetail.Shares; returnDetail.PurchaseDate = investmentDetail.PurchaseDate; returnDetail.CurrentValue = InvestmentHelper.GetCurrentValue(returnDetail.Shares, returnDetail.CurrentPrice); returnDetail.Term = InvestmentHelper.GetTerm(returnDetail.PurchaseDate); returnDetail.NetGainLoss = InvestmentHelper.GetNetGainLoss(returnDetail.CurrentValue, returnDetail.Shares, returnDetail.CostBasisPerShare); return(returnDetail); }