public JsonResult <RestResponse> Divide(int?a, int?b)
 {
     if (a != null && b != null)
     {
         try
         {
             Log _log = new Log();
             logger.Info("Request to Rest");
             _log.RequestToRest = DateTime.Now;
             CalculatorSoapClient calculator = GetCalculatorService.GetInstance();
             logger.Info("Request to SOAP");
             _log.RequestToSoap = DateTime.Now;
             var result = calculator.Divide((int)a, (int)b);
             logger.Info("Response from  SOAP");
             _log.ResponseFromSoap = DateTime.Now;
             AddLogToDb(_log);
             return(Json(new RestResponse {
                 FirstNumber = a, SecondNumber = b, Result = result, OperationName = "Divide", Error = null
             }));
         }
         catch (Exception ex)
         {
             logger.Error(ex.Message);
             return(Json(new RestResponse {
                 FirstNumber = a, SecondNumber = b, Result = null, OperationName = "Divide", Error = ex.Message
             }));
         }
     }
     else
     {
         return(Json(new RestResponse {
             FirstNumber = a, SecondNumber = b, Result = null, OperationName = "Divide", Error = "Params must be fill correctly"
         }));
     }
 }
 public JsonResult <RestResponse> Add(int?a, int?b)
 {
     if (a != null && b != null)
     {
         try
         {
             //For get all required log data instance
             Log _log = new Log();
             //Log to file
             logger.Info("Request to Rest");
             _log.RequestToRest = DateTime.Now;
             //Instance of calculator
             CalculatorSoapClient calculator = GetCalculatorService.GetInstance();
             //Log to file
             logger.Info("Request to SOAP");
             _log.RequestToSoap = DateTime.Now;
             var result = calculator.Add((int)a, (int)b);
             //Log to file
             logger.Info("Response from  SOAP");
             _log.ResponseFromSoap = DateTime.Now;
             //Logging to Database
             AddLogToDb(_log);
             return(Json(new RestResponse {
                 FirstNumber = a, SecondNumber = b, Result = result, OperationName = "Add", Error = null
             }));
         }
         catch (Exception ex)
         {
             logger.Error(ex.Message);
             return(Json(new RestResponse {
                 FirstNumber = a, SecondNumber = b, Result = null, OperationName = "Add", Error = ex.Message
             }));
         }
     }
     else
     {
         return(Json(new RestResponse {
             FirstNumber = a, SecondNumber = b, Result = null, OperationName = "Add", Error = "Params must be fill correctly"
         }));
     }
 }