private void OnEqualsButtonPressed()
{
if (!(currentOperation == CalculatorOperation.None || isOperationButtonPressed == true))
{
switch (currentOperation)
{
case CalculatorOperation.Add:
currentNumber += firstNumber;
break;
case CalculatorOperation.Subtract:
currentNumber = firstNumber - currentNumber;
break;
case CalculatorOperation.Multiply:
currentNumber *= firstNumber;
break;
case CalculatorOperation.Divide:
if (currentNumber != 0)
{
currentNumber = firstNumber / currentNumber;
}
else
{
ScreenTextBlock.Text = "Can't divide by zero.";
}
break;
default:
throw new NotSupportedException(String.Format("Unsupported operation: {0}",
Enum.GetName(typeof(CalculatorOperation), currentOperation)));
}
if (!(currentOperation == CalculatorOperation.Divide && currentNumber == 0))
{
OnValueChanged();
}
currentOperation = CalculatorOperation.None;
isCalculationDone = true;
}
}