public IActionResult Soft(ValidationModel validationModel) { if (ModelState.IsValid) { // create a logger Logger logger = NexmoLogger.GetLogger("SoftValidationLogger");; try { if (logger == null) { logger = NexmoLogger.GetLogger("SoftValidationLogger"); } logger.Open(); NumberInsightAdvancedResponse results = NexmoApi.AdvancedNumberInsightRequest(validationModel, configuration); if (results.Status == "0" && results.NumberValidity == "valid") { logger.Log("Soft validation with NI advanced request successfully created with requestId: " + results.RequestId); var responseObject = JsonConvert.SerializeObject(NexmoApi.GenerateAdvancedObject(results), Formatting.Indented); ViewData["feedback"] = "Thanks " + validationModel.Name + ". We have checked your phone number and your account has been validated. More details: \n" + responseObject; } else if (results.NumberValidity != "valid") { logger.Log("Soft validation with NI advanced request failed with number validity: " + results.NumberValidity + " for requestId: " + results.RequestId); ViewData["feedback"] = "Thanks " + validationModel.Name + ". Unfortunately it seems that the number you provided is invalid. Please try again with a different phone number."; } else { ViewData["error"] = "Your request could not be completed at this time. Please try again later."; logger.Log(Level.Exception, "Response code: " + results.Status + " - Request could not be completed. Request ID: " + results.RequestId + " - Error Text: " + results.ErrorText); } } catch (Exception e) { logger.Log(Level.Exception, e); ViewData["error"] = "There has been an issue dealing with your request. Please try again later."; } finally { if (logger != null) { logger.Close(); logger.Deregister(); } } } return(View(validationModel)); }
public IActionResult Index(ValidationModel validationModel) { if (ModelState.IsValid) { // create a logger placeholder Logger logger = null; try { logger = NexmoLogger.GetLogger("ValidationLogger"); logger.Open(); switch (validationModel.Version) { case "basic": NumberInsightBasicResponse response = NexmoApi.BasicNumberInsightRequest(validationModel, configuration); if (response.Status == "0") { var responseObject = JsonConvert.SerializeObject(NexmoApi.GenerateBasicObject(response), Formatting.Indented); logger.Log("Request ID: " + response.RequestId + " has completed successfully with status code: " + response.Status + " and status text: " + response.StatusMessage); ViewData["feedback"] = "Your request completed successfully. Please see below the response: \n" + responseObject; } break; case "standard": NumberInsightStandardResponse standardResponse = NexmoApi.StandardNumberInsightRequest(validationModel, configuration); if (standardResponse.Status == "0") { var responseObject = JsonConvert.SerializeObject(NexmoApi.GenerateStandardObject(standardResponse), Formatting.Indented); logger.Log("Request ID: " + standardResponse.RequestId + " has completed successfully with status code: " + standardResponse.Status + " and status text: " + standardResponse.StatusMessage); ViewData["feedback"] = "Your request completed successfully. Please see below the response: \n" + responseObject; } break; case "advanced": NumberInsightAdvancedResponse advancedResponse = NexmoApi.AdvancedNumberInsightRequest(validationModel, configuration); if (advancedResponse.Status == "0") { var responseObject = JsonConvert.SerializeObject(NexmoApi.GenerateAdvancedObject(advancedResponse), Formatting.Indented); logger.Log("Request ID: " + advancedResponse.RequestId + " has completed successfully with status code: " + advancedResponse.Status + " and status text: " + advancedResponse.StatusMessage); ViewData["feedback"] = "Your request completed successfully. Please see below the response: \n" + responseObject; } break; } } catch (Exception e) { logger.Log(Level.Exception, e); ViewData["error"] = "There has been an issue dealing with your request. Please try again later."; } finally { logger.Close(); logger.Deregister(); } } return(View()); }