private static void validateRegion(CQAPIResultData ValidUser) { try { string ctryCDIn = string.Empty; string regionCD = string.Empty; Console.WriteLine("Please enter the Country Code / Country Name"); ctryCDIn = Console.ReadLine(); string ctryCD = ctryCDIn == "USA" ? "US" : ctryCDIn; Task <bool> task = Task.Run(async() => await getCountryCode(ValidUser, ctryCD)); task.Wait(); bool ctryFound = task.Result; if (ctryFound) { Console.WriteLine("\nPlease enter the Region Code / Region Name"); regionCD = Console.ReadLine(); getRegionList(ValidUser, ctryCD, regionCD).Wait(); } else { Console.WriteLine("Sorry, your country code is invalid. Please try again. "); } } catch (Exception ex) { Console.WriteLine("Error in validateRegion: " + ex.Message); // throw ex; } }
public static async Task LoginAPIUser(UserCredentials credential, CQAPIResultData ValidUser) { try { string retVal = string.Empty; using (var client = new HttpClient()) { client.BaseAddress = new Uri("http://10.30.5.181/CQAPI/api/Authorize"); client.DefaultRequestHeaders.ExpectContinue = false; var serializedObject = JsonConvert.SerializeObject( new { username = credential.username, password = credential.password } ); var request = new HttpRequestMessage(HttpMethod.Post, "Authorize") { Content = new StringContent(serializedObject, Encoding.UTF8, "application/json") }; var response = await client.SendAsync(request); response.EnsureSuccessStatusCode(); if (response.IsSuccessStatusCode) { var content = await response.Content.ReadAsStringAsync(); CQBOAPIModel.CQAPIResult result = JsonConvert.DeserializeObject <CQBOAPIModel.CQAPIResult>(content); if (result.code == 0) { retVal = result.data.token; str = retVal; ValidUser.userId = result.data.userId; ValidUser.token = result.data.token; } Console.WriteLine("------------ AUTHENTICATION DONE------------\n"); } else { Console.WriteLine("\n " + response.StatusCode); Console.WriteLine("\n " + response.ReasonPhrase.ToString()); Console.WriteLine("\n " + response.RequestMessage.ToString()); Console.WriteLine("\n " + response.ToString()); } } } catch (Exception ex) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(ex.Message); Console.ResetColor(); } }
private static void PerformMenu(UserCredentials credential, string menu) { if (menu == "1") { loadFile(); } else if (menu == "2") { TransformData trans = new TransformData(); trans.GetBankTrans(); } else if (menu == "3") { CQAPIResultData ValidUser = new CQAPIResultData(); LoginAPIUser(credential, ValidUser).Wait(); if (ValidUser.token != null) { CQAPICountryList countryL = new CQAPICountryList(); validateRegion(ValidUser); } } else if (menu == "4") { CQAPIResultData ValidUser = new CQAPIResultData(); LoginAPIUser(credential, ValidUser).Wait(); if (ValidUser.token != null) { CQAPICountryList countryL = new CQAPICountryList(); validateUSRegion(ValidUser); } } else if (menu == "5") { loadFileCiti(); } else if (menu == "6") { readXLSEPP(); } else if (menu == "7") { AMLCitiTransformData cititrans = new AMLCitiTransformData(); cititrans.GetCitiTrans(); } else { Console.WriteLine("******WRONG MENU SELECTION*****************************"); } }
public static async Task <bool> getCountryCode(CQAPIResultData ValidUser, string ctryCD) { try { String uriAPI = "https://bkp.cqfutures.com/CQAPI/api/CQBO/country/GetCountryList"; bool retVal = false; int found = 0; // if found = 1 means found using (var client = new HttpClient()) { client.BaseAddress = new Uri(uriAPI); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Add($"Authorization", $"Bearer " + ValidUser.token); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response = await client.GetAsync(uriAPI + "?userId=" + ValidUser.userId + "&cd_type=CNTR&PageSize=500&PageNo=1"); if (response.IsSuccessStatusCode) { var content = await response.Content.ReadAsStringAsync(); //Console.WriteLine("Country List"); CQAPICountryList countryRes = JsonConvert.DeserializeObject <CQAPICountryList>(content); //list out all country list //foreach (var item in countryRes.data) //{ // Console.WriteLine(item.cd_Ref + " || " + item.description); //} ValidateCountry country = new ValidateCountry(); retVal = country.SearchCountry(countryRes, ctryCD); } } return(retVal); } catch (Exception e) { throw e; } }
public static async Task getRegionList(CQAPIResultData ValidUser, string ctryCode, string regionCD) { try { String uriAPI = "https://bkp.cqfutures.com/CQAPI/api/CQBO/region/GetRegionList"; using (var client = new HttpClient()) { client.BaseAddress = new Uri(uriAPI); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Add($"Authorization", $"Bearer " + ValidUser.token); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response = await client.GetAsync(uriAPI + "?userId=" + ValidUser.userId + "&Form_Code=DIVDCD&ref_codeID=" + ctryCode); if (response.IsSuccessStatusCode) { var content = await response.Content.ReadAsStringAsync(); //Console.WriteLine("Region List"); CQAPIRegionList regionRes = JsonConvert.DeserializeObject <CQAPIRegionList>(content); //Console.WriteLine("regionRes totalRecord: " + regionRes.totalRecord); //Console.WriteLine("regionRes.data count: " + regionRes.data.Count); //foreach(var item in regionRes.data) //{ // Console.WriteLine(item.form_CodeID + " || " + item.form_CodeDescription); //} ValidateRegion region = new ValidateRegion(); region.SearchRegion(regionRes, regionCD); } } } catch (Exception ex) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(ex.Message); Console.ResetColor(); throw ex; } }
private static void validateUSRegion(CQAPIResultData ValidUser) { try { string ctryCDIn = string.Empty; string regionCD = string.Empty; string ctryCD = "US"; Console.WriteLine("\nALERT! ARMED FORCES AMERICA has a trailing space in API Return Result"); Console.WriteLine("\nPlease enter the Region Code / Region Name"); regionCD = Console.ReadLine(); getRegionList(ValidUser, ctryCD, regionCD).Wait(); } catch (Exception ex) { Console.WriteLine("Error in validateRegion: " + ex.Message); //throw ex; } }