コード例 #1
0
        private void DoCalculation()
        {
            IsCalculateEnabled = false;
            RaisePropertyChanged("IsCalculateEnabled");

            ErrorCode errcode = FirstValidation();

            if (errcode != ErrorCode.OK)
            {
                Result = Utility.getErrorMsg(errcode);
            }
            else
            {
                var prob = new AmericanOptionProb(
                    _spotPrice,
                    _volatility,
                    _interestRate,
                    _maturity,
                    _strikePrice,
                    _stepsNum,
                    _optionType
                    );
                errcode = prob.validate();
                if (errcode != ErrorCode.OK)
                {
                    Result = Utility.getErrorMsg(errcode);
                }
                else
                {
                    Result = Math.Round(prob.calculate(), 4).ToString();
                }
            }

            RaisePropertyChanged("Result");
            IsCalculateEnabled = true;
            RaisePropertyChanged("IsCalculateEnabled");
        }