private void ExecuteAction <T>(T requestModel, Action <string> success, Action <string> failure) { var result = PostRequest(NMIHelper.GenerateURL(requestModel)); if (result.isSuccess) { success.Invoke(result.response); } else { failure.Invoke(result.response); } }
private (bool isSuccess, string response) PostRequest(string url) { StreamWriter myWriter = null; string nmiPostUrl = WebConfigurationManager.AppSettings["nmiPostUrl"]; HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create(nmiPostUrl); objRequest.Method = "POST"; objRequest.ContentLength = url.Length; objRequest.ContentType = "application/x-www-form-urlencoded"; try { myWriter = new StreamWriter(objRequest.GetRequestStream()); myWriter.Write(url); } catch (Exception e) { throw new Exception(e.Message); } finally { myWriter.Close(); } var result = string.Empty; HttpWebResponse objResponse = (HttpWebResponse)objRequest.GetResponse(); using (StreamReader sr = new StreamReader(objResponse.GetResponseStream())) { result = sr.ReadToEnd(); // Close and clean up the StreamReader sr.Close(); } var jsonResponse = NMIHelper.NMIServiceResponse(result); var responseModel = JsonConvert.DeserializeObject <ResponseServiceModel>(jsonResponse); return(responseModel.response_code == "100", jsonResponse); }