using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Threading.Tasks; using System.Net.Http; using System.Net.Http.Headers; using HealthchoiceMVC.Models; using HealthchoiceMVC.Enums; using System.Text; using Newtonsoft.Json; using System.Net; using HealthchoiceMVC.NonDbModels; namespace HealthchoiceMVC.Services { public class HCWebService { static string serviceMode = ServiceMode.WEB.ToString(); //toggle between local and web to set mode public static void SetServiceParameters(HttpClient client) { System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls | SecurityProtocolType.Ssl3; if (serviceMode == ServiceMode.LOCAL.ToString()) { client.BaseAddress = new Uri("https://localhost:44300/api/"); } else { client.BaseAddress = new Uri("https://lcservices20190802115129.azurewebsites.net/api/"); } client.DefaultRequestHeaders.Accept.Clear(); byte[] cred = UTF8Encoding.UTF8.GetBytes("hcuser:hdJ78k04R"); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(cred)); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); } public List GetDisciplines() { using (var client = new HttpClient()) { SetServiceParameters(client); string baseUri = client.BaseAddress.ToString(); string serviceuri = baseUri + "ProvDisciplineAPI/GetDisciplineList"; Task response = client.GetStringAsync(serviceuri); return JsonConvert.DeserializeObject>(response.Result); } } public prov_discipline_basic GetDisciplineByCode(string prov_discipine_code) { using (var client = new HttpClient()) { SetServiceParameters(client); string baseUri = client.BaseAddress.ToString(); string serviceuri = baseUri + "ProvDisciplineAPI/GetProvDisciplineByCode?prov_discipline_code=" + prov_discipine_code; Task response = client.GetStringAsync(serviceuri); return JsonConvert.DeserializeObject(response.Result); } } public List GetSubDisciplinesByDisciplineCode(int prov_discipline_code) { using (var client = new HttpClient()) { SetServiceParameters(client); string baseUri = client.BaseAddress.ToString(); string serviceuri = baseUri + "ProvSubDisciplineAPI/GetSubDisciplinesByDisciplineCode?prov_discipline_code=" + prov_discipline_code; Task response = client.GetStringAsync(serviceuri); return JsonConvert.DeserializeObject>(response.Result); } } public prov_sub_discipline GetSubDisciplineByKey(int prov_sub_discipline_key) { using (var client = new HttpClient()) { SetServiceParameters(client); string baseUri = client.BaseAddress.ToString(); string serviceuri = baseUri + "ProvSubDisciplineAPI/GetProvSubDisciplineByKey?prov_sub_discipline_key=" + prov_sub_discipline_key; Task response = client.GetStringAsync(serviceuri); return JsonConvert.DeserializeObject(response.Result); } } //public List GetListOfCountries() //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "geoapi/GetListOfCountries"; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject>(response.Result); // } //} //public List GetListOfProvincesByCountryCode(string geo_country_code) //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "geoapi/GetListOfProvincesByCountryCode?geo_country_code=" + geo_country_code; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject>(response.Result); // } //} //public List GetListOfCitiesByProvinceKey(int? geo_province_key) //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "geoapi/GetListOfCitiesByProvinceKey?geo_province_key=" + geo_province_key; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject>(response.Result); // } //} //public string GetProvinceNameByProvinceKey(int geo_province_key) //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "geoapi/GetProvinceNameByProvinceKey?geo_province_key=" + geo_province_key; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject(response.Result); // } //} //public List GetListOfSuburbsByCityKey(int? geo_city_key) //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "geoapi/GetListOfSuburbsByCityKey?geo_city_key=" + geo_city_key; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject>(response.Result); // } //} //public string GetCityNameByCityKey(int geo_city_key) //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "geoapi/GetCityNameByCityKey?geo_city_key=" + geo_city_key; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject(response.Result); // } //} //public string GetPostCodeByGeoKey(int geo_key) //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "geoapi/GetPostCodeByGeoKey?geo_key=" + geo_key; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject(response.Result); // } //} //public geo_suburb GetSuburbByGeoKey(int geo_key) //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "geoapi/GetSuburbByGeoKey?geo_key=" + geo_key; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject(response.Result); // } //} //public List GetGeoByString(string geo_string) //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "geoapi/GetGeoByString?geo_string=" + geo_string; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject>(response.Result); // } //} //public geo_basic GetGeoByKey(int geo_key) //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "geoapi/GetGeoByKey?geo_key=" + geo_key; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject(response.Result); // } //} //public List GetListOfBanks() //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "bankapi/GetListOfBanks"; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject>(response.Result); // } //} //public List GetListOfBranchesByBankKey(int bank_key) //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "bankapi/GetListOfBranchesByBankKey?bank_key=" + bank_key; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject>(response.Result); // } //} //public List GetListOfDiagnoses() //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "diagnosisapi/GetListOfDiagnoses"; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject>(response.Result); // } //} //public diagnosis GetDiagnosisByIcdCode(string icd_code) //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "diagnosisapi/GetDiagnosisByIcdCode?icd_code=" + icd_code; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject(response.Result); // } //} //public diagnosis GetDiagnosisByKey(int diag_key) //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "diagnosisapi/GetDiagnosisByKey?diag_key=" + diag_key; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject(response.Result); // } //} //public List GetIcdByDesc(string icd_search_string) //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "icdapi/GetIcdByDesc?icd_search_string=" + icd_search_string; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject>(response.Result); // } //} //public List GetIcdByString(string icd_search_string) //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "icdapi/GetIcdByString?icd_search_string=" + icd_search_string; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject>(response.Result); // } //} //public icd_basic GetIcdByCode(string icd_code) //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "icdapi/GetIcdByCode?icd_code=" + icd_code; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject(response.Result); // } //} //public List GetIcdByDiagnosis(int diag_key, bool? valid_primary) //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "icdapi/GetIcdByDiagnosis?diag_key=" + diag_key + "&valid_primary=" + valid_primary; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject>(response.Result); // } //} //public icd_full GetIcdFullByKey(int icd_key) //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "icdapi/GetIcdFullByKey?icd_key=" + icd_key; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject(response.Result); // } //} //public List GetDiagnosisAttributeByDiagnosisKey(int diag_key) //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "diagnosisattributeapi/GetDiagnosisAttributeByDiagnosisKey?diag_key=" + diag_key; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject>(response.Result); // } //} //public nappi_basic GetNappiByKey(int nappi_key) //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "nappiapi/GetNappiByKey?nappi_key=" + nappi_key; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject(response.Result); // } //} //public nappi_basic GetNappiByCode(string nappi_code) //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "nappiapi/GetNappiByCode?nappi_code=" + nappi_code; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject(response.Result); // } //} //public List GetNappiList(string nappi_search_string, string nappi_form, string nappi_generic_ind, string nappi_type, string nappi_active_ing) //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "nappiapi/GetNappiList?nappi_search_string=" + nappi_search_string + // "&nappi_form=" + nappi_form + // "&nappi_generic_ind=" + nappi_generic_ind + // "&nappi_type=" + nappi_type + // "&nappi_active_ing=" + nappi_active_ing; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject>(response.Result); // } //} //public List GetNappiByString(string nappi_search_string) //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "nappiapi/GetNappiByString?nappi_search_string=" + nappi_search_string; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject>(response.Result); // } //} //public List GetNappiActiveIngByCode(string nappi_code) //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "nappiapi/GetNappiActiveIngByCode?nappi_code=" + nappi_code; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject>(response.Result); // } //} //public List GetNappiDosageFormList() //{ // using (var client = new HttpClient()) // { // SetServiceParameters(client); // string baseUri = client.BaseAddress.ToString(); // string serviceuri = baseUri + "nappiapi/GetNappiDosageFormList"; // Task response = client.GetStringAsync(serviceuri); // return JsonConvert.DeserializeObject>(response.Result); // } //} } }