Exemplo n.º 1
0
        private void BtnNumberClick(int number, CalculatorModel calculatorUI)
        {
            calculatorUI.Value        = calculatorUI.Value * 10 + number;
            calculatorUI.Calculation += number.ToString();

            txtResult.Text = ShowCalculation(calculatorUI);
        }
Exemplo n.º 2
0
        public CalculatorViewModel(CalculatorModel calculator)
        {
            _calc = calculator;

            NumberCommand = new RelayCommand(param => { _calc.Number(Convert.ToInt32(param)); UpdateDisplay(); },
                                            param => _calc.CanDoNumber());

            PlusCommand = new RelayCommand(param => { _calc.Plus(); UpdateDisplay(); },
                                            param => _calc.CanDoOperator());

            MinusCommand = new RelayCommand(param => { _calc.Minus(); UpdateDisplay(); },
                                            param => _calc.CanDoOperator());

            TimesCommand = new RelayCommand(param => { _calc.Times(); UpdateDisplay(); },
                                            param => _calc.CanDoOperator());

            OverCommand = new RelayCommand(param => { _calc.Over(); UpdateDisplay(); },
                                            param => _calc.CanDoOperator());

            EqualsCommand = new RelayCommand(param => { _calc.Equals(); UpdateDisplay(); },
                                            param => _calc.CanDoEquals());

            ClearCommand = new RelayCommand(param => { _calc.Clear(); UpdateDisplay(); },
                                            param => _calc.CanDoClear());
        }
Exemplo n.º 3
0
        private void CalculationResults(CalculatorModel calculatorUI)
        {
            switch (calculatorUI.Op)
            {
            case Operator.Add:
                service.Add(calculatorUI);
                break;

            case Operator.Subtract:
                service.Subtract(calculatorUI);
                break;

            case Operator.Multiply:
                service.Multiply(calculatorUI);
                break;

            case Operator.Division:
                service.Division(calculatorUI);
                break;

            case Operator.None:
                service.SetValue(calculatorUI);
                break;
            }
        }
Exemplo n.º 4
0
        public Calculator()
        {
            InitializeComponent();

            calculatorUI = new CalculatorModel();
            service      = new CalculatorService();
        }
Exemplo n.º 5
0
        private void BtnOperatorClick(Operator op, CalculatorModel calculatorUI)
        {
            var Op = string.Empty;

            calculatorUI.Op          = op;
            calculatorUI.Calculation = "Ans ";

            switch (calculatorUI.Op)
            {
            case Operator.Add:
                Op = "+";
                break;

            case Operator.Subtract:
                Op = "-";
                break;

            case Operator.Multiply:
                Op = "*";
                break;

            case Operator.Division:
                Op = "/";
                break;

            case Operator.None:
                break;
            }

            calculatorUI.Calculation += " " + Op + " ";
            txtResult.Text            = ShowCalculation(calculatorUI);
            calculatorUI.Value        = 0;
        }
 internal void Division(CalculatorModel calculator)
 {
     if (calculator.Value == 0)
     {
         throw new DivideByZeroException();
     }
     calculator.Result /= calculator.Value;
 }
        public void ShowResult()
        {
            var resultValue = CalculatorModel.GetResult();

            ShowNumber(resultValue);
            CalculatorModel.Clear();
            NumberBuilder.NewNumber();
            NumberBuilder.Append(resultValue.ToString());
        }
        private void AddOperatorElement(Element element)
        {
            float builtNumber = NumberBuilder.BuildNumber();

            CalculatorModel.AddNumberToCalculation(builtNumber);
            CalculatorModel.AddOperatorToCalculation(ElementEvaluator.EvaluateElement(element));
            ShowNumber(builtNumber);
            NumberBuilder.NewNumber();
        }
Exemplo n.º 9
0
        void App_Startup(object sender, StartupEventArgs e)
        {
            MainWindow window = new MainWindow();

            CalculatorModel calculator = new CalculatorModel();
            CalculatorViewModel viewModel = new CalculatorViewModel(calculator);
            window.DataContext = viewModel;

            window.Show();
        }
Exemplo n.º 10
0
        public CalculatorViewModel()
        {
            calculatorModel = new CalculatorModel();

            this.Operand1  = string.Empty;
            this.Operand2  = string.Empty;
            this.Operation = string.Empty;
            this.IsBackSpaceButtonEnabled = false;
            this.Result = 0;
        }
Exemplo n.º 11
0
        void App_Startup(object sender, StartupEventArgs e)
        {
            MainWindow window = new MainWindow();

            CalculatorModel calculator = new CalculatorModel();
            CalculatorViewModel viewModel = new CalculatorViewModel(calculator);
            window.DataContext = viewModel;

            window.Show();
        }
Exemplo n.º 12
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            var view      = new CalculatorView();
            var model     = new CalculatorModel();
            var presenter = new CalculatorPresenter(view, model);

            presenter.StartView();
        }
        private void DoOperation()
        {
            float mostRecentNumber = CalculatorModel.MostRecentNumber;
            float builtNumber      = NumberBuilder.BuildNumber();

            CalculatorModel.AddNumberToCalculation(builtNumber);
            if (CalculatorModel.AmountOfNumbers == 1 && CalculatorModel.AmountOfOperators == 0)
            {
                CalculatorModel.AddOperatorToCalculation(CalculatorModel.MostRecentOperator);
                CalculatorModel.AddNumberToCalculation(mostRecentNumber);
            }
            NumberBuilder.NewNumber();
            ShowResult();
        }
Exemplo n.º 14
0
        static void Main(string[] args)
        {
            CalculatorModel calculatorModel = new CalculatorModel();

            Console.WriteLine("Please enter your date of birth (dd-mm-yyyy) to calculate your age.");

            DateTime dT;

            if (calculatorModel.ParseInput(Console.ReadLine(), out dT))
            {
                int age = calculatorModel.CalculateAge(dT);
                Console.WriteLine("Your age is calculated to be: " + age);
            }
            else
            {
                Console.WriteLine("Input is invalid.");
            }

            Console.ReadLine();
        }
Exemplo n.º 15
0
 public MainWindow()
 {
     InitializeComponent();
     //resultLabel.Content = "123345";
     _operationalModel = new CalculatorModel(resultLabel);
 }
 internal void SetValue(CalculatorModel calculator)
 {
     calculator.Result = calculator.Value;
 }
 internal void Add(CalculatorModel calculator)
 {
     calculator.Result += calculator.Value;
 }
 private void ClearAllButtonClick(object sender, RoutedEventArgs e)
 {
     NumberBuilder.NewNumber();
     CalculatorModel.Clear();
     ShowNumber(CalculatorModel.DEFAULT_START_VALUE);
 }
Exemplo n.º 19
0
 public void Init()
 {
     _calc = new CalculatorModel();
 }
 internal void Multiply(CalculatorModel calculator)
 {
     calculator.Result *= calculator.Value;
 }
Exemplo n.º 21
0
 private string ShowCalculation(CalculatorModel calculatorUI)
 {
     return($"{calculatorUI.Calculation}{Environment.NewLine} {calculatorUI.Result}");
 }
 internal void Subtract(CalculatorModel calculator)
 {
     calculator.Result -= calculator.Value;
 }