//deals with button inputs and sorts out the display accordingly public void SingleOperationButtonPress(OperationButtonType buttonType) { try { var operationType = buttonType.GetOperationType(); calculatorManager.ExecuteSingularOperation(operationType); Display = calculatorManager.Display; } catch (CalculatorException exception) { MessageBox.Show(exception.Message, "Calculator", MessageBoxButton.OK, MessageBoxImage.Error); } }
public static OperationType GetOperationType(this OperationButtonType buttonType) { switch (buttonType) { case OperationButtonType.SUM: return(OperationType.SUM); case OperationButtonType.SUBTRACTION: return(OperationType.SUBTRACTION); case OperationButtonType.MULTIPLICATION: return(OperationType.MULTIPLICATION); case OperationButtonType.DIVISION: return(OperationType.DIVISION); case OperationButtonType.EQUAL: return(OperationType.EQUAL); case OperationButtonType.FACTORIAL: return(OperationType.FACTORIAL); case OperationButtonType.INVERSE: return(OperationType.INVERSE); case OperationButtonType.POSITION: return(OperationType.POSITION); case OperationButtonType.CHANGE_SIGN: return(OperationType.CHANGE_SIGN); case OperationButtonType.RADICAL: return(OperationType.RADICAL); case OperationButtonType.EXPONENTIATION: return(OperationType.EXPONENTIATION); default: return(OperationType.NONE); } }
private bool CanSingleOperationButtonPress(OperationButtonType buttonType) { var operationType = buttonType.GetOperationType(); return(calculatorManager.CanOperationBeExecuted(operationType)); }