public void redoEquationString(ViewModel.expressions expressionSent, bool _Unary) { IsUnary = _Unary; ExpressionSet = true; switch (_Unary) { case true: if (OperandOneString != "" && OperandOneString != null && ExpressionSet == true) { CurrentExpression = expressionSent; if (CurrentExpression == ViewModel.expressions.Sqrt) { EquationString = convertExpression(CurrentExpression) + OperandOneString; } else if (CurrentExpression == ViewModel.expressions.Sin) { EquationString = "Sin(" + OperandOneString + ")"; } else if (CurrentExpression == ViewModel.expressions.Cos) { EquationString = "Cos(" + OperandOneString + ")"; } else if (CurrentExpression == ViewModel.expressions.Tan) { EquationString = "Tan(" + OperandOneString + ")"; } else { EquationString = OperandOneString + convertExpression(CurrentExpression); } } break; case false: if (operandTwoString == "" || operandTwoString == null) { if (OperandOneString != "" && OperandOneString != null && ExpressionSet == true) { CurrentExpression = expressionSent; EquationString = OperandOneString + convertExpression(CurrentExpression); } } if (OperandOneString != "" && OperandOneString != null && ExpressionSet == true && operandTwoString != "" && operandTwoString != null) { CurrentExpression = expressionSent; EquationString = OperandOneString + convertExpression(CurrentExpression) + operandTwoString; } break; default: break; } }
public string convertExpression(ViewModel.expressions expressionsent) { string expressionString = ""; switch (expressionsent) { case expressions.Addition: expressionString = "+"; break; case expressions.Subtraction: expressionString = "-"; break; case expressions.Multiplication: expressionString = "*"; break; case expressions.Division: expressionString = "/"; break; case expressions.Sin: expressionString = "Sin()"; break; case expressions.Cos: expressionString = "Cos()"; break; case expressions.Tan: expressionString = "Tan()"; break; case expressions.Square: expressionString = "^2"; break; case expressions.Sqrt: expressionString = "√"; break; case expressions.Percent: expressionString = "%"; break; case expressions.none: break; default: break; } return(expressionString); }