public ActionResult Index(CalculatorViewModel viewModel, String calculate) { if (String.IsNullOrEmpty(calculate)) { var transactionViewModel = _autoMapper.Map <CalculatorViewModel, TransactionViewModel>(viewModel); transactionViewModel.Shares = _calculatorEngine.CalculateShares(viewModel.Investment, viewModel.Commission, viewModel.Tax, viewModel.Levy, viewModel.Price); return(View("../Transactions/Add", transactionViewModel)); } else { viewModel.Shares = _calculatorEngine.CalculateShares(viewModel.Investment, viewModel.Commission, viewModel.Tax, viewModel.Levy, viewModel.Price); viewModel.Cost = _calculatorEngine.CalculateCost(viewModel.Shares, viewModel.Price, viewModel.Commission, viewModel.Tax, viewModel.Levy); viewModel.BreakEvenPrice = _calculatorEngine.CalculateBreakEvenPrice(viewModel.Shares, viewModel.Price, viewModel.Commission, viewModel.Tax, viewModel.Levy); var profitPercentage = _calculatorEngine.CalculatePercentage(viewModel.Profit); viewModel.ProfitPrice = _calculatorEngine.CalculateProfitPrice(viewModel.Shares, viewModel.Price, viewModel.Commission, viewModel.Tax, viewModel.Levy, profitPercentage); viewModel.Earnings = _calculatorEngine.CalculateEarnings(viewModel.Shares, viewModel.ProfitPrice, viewModel.Commission, viewModel.Cost, viewModel.Levy); var viewResult = new ViewResult { ViewName = "Index", ViewData = { Model = viewModel } }; viewResult.ViewBag.Message = "Investment Calculated"; return(viewResult); } }
private void CalculateButton_OnClick(object sender, RoutedEventArgs e) { var investment = Decimal.Parse(InvestmentTextBox.Text); var commission = Decimal.Parse(CommissionTextBox.Text); var tax = Decimal.Parse(TaxTextBox.Text); var levy = Decimal.Parse(LevyTextBox.Text); var price = Decimal.Parse(PriceTextBox.Text); var percentage = 1 + (Decimal.Parse(ProfitTextBox.Text) / 100M); var shares = _calculatorEngine.CalculateShares(investment, commission, tax, levy, price); var cost = _calculatorEngine.CalculateCost(shares, price, commission, tax, levy); var profitPrice = _calculatorEngine.CalculateProfitPrice(shares, price, commission, tax, levy, percentage); SharesLabel.Content = shares; CostLabel.Content = cost; BreakEvenPriceLabel.Content = _calculatorEngine.CalculateBreakEvenPrice(shares, price, commission, tax, levy); ProfitPriceLabel.Content = profitPrice; EarningsLabel.Content = _calculatorEngine.CalculateEarnings(shares, profitPrice, commission, cost, levy); }