コード例 #1
0
        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());
        }