public CalculatorDataContract ExecuteOperation(CalculatorDataContract data) { if (data == null) { //throw new ArgumentNullException(nameof(data), $"The parameter ${nameof(data)} can't be null."); throw new ArgumentNullException("data", "The parameter \"data\" can't be null."); } switch (data.Operation) { case OperationType.Addition: data.Result = data.ValueA + data.ValueB; break; case OperationType.Subtraction: data.Result = data.ValueA - data.ValueB; break; case OperationType.Multiplication: data.Result = data.ValueA * data.ValueB; break; case OperationType.Division: data.Result = data.ValueA / data.ValueB; break; default: throw new ArgumentException("The type of operation is invalid."); } return(data); }
public ActionResult Index() { ICalculatorService calculator = ServiceFactoryHelper <ICalculatorService> .GetService(); CalculatorDataContract data = new CalculatorDataContract(); data.Operation = OperationType.Addition; data.ValueA = 10; data.ValueB = 5; CalculatorDataContract dataResult = calculator.ExecuteOperation(data); IBookService book = ServiceFactoryHelper <IBookService> .GetService(); ViewBag.Data = dataResult; ViewBag.BookName = book.GetBookName(3); ViewBag.AuthorName = book.GeBookAuthor(3); return(View()); }