예제 #1
0
        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);
        }