public async Task <List <Requestcatalog> > ListRequestCatalogAutoComplete() { MessagingCenter.Subscribe <PassIdPatient>(this, "UpdateClientId", async(value) => { IdClient = value.idPatient; Debug.WriteLine("********Id of Client*************"); Debug.WriteLine(IdClient); var _search = new SearchRequestCatalog { fromReflex = false, id1 = IdClient, order = "asc", sortedBy = "description" }; var cookie = Settings.Cookie; //.Split(11, 33) var res = cookie.Substring(11, 32); var response = await apiService.PostRequestCatalog <Requestcatalog>( "https://portalesp.smart-path.it", "/Portalesp", "/requestCatalog/getDefaultRequestConfiguration", res, _search); RequestCatalogAutoComplete = (List <Requestcatalog>)response.Result; }); return(RequestCatalogAutoComplete); }
public async Task<Response> PostRequestCatalog<T>( string urlBase, string servicePrefix, string controller, string cookie, SearchRequestCatalog search) { try { var request = JsonConvert.SerializeObject(search); Debug.WriteLine("********request*************"); Debug.WriteLine(request); var content = new StringContent( request, Encoding.UTF8, "application/json"); var cookieContainer = new CookieContainer(); var handler = new HttpClientHandler() { CookieContainer = cookieContainer }; var client = new HttpClient(handler); client.BaseAddress = new Uri(urlBase); var url = string.Format("{0}{1}", servicePrefix, controller); cookieContainer.Add(client.BaseAddress, new Cookie("JSESSIONID", cookie)); var response = await client.PostAsync(url, content); Debug.WriteLine("********response*************"); Debug.WriteLine(response); if (!response.IsSuccessStatusCode) { return new Response { IsSuccess = false, Message = response.StatusCode.ToString(), }; } var result = await response.Content.ReadAsStringAsync(); Debug.WriteLine("********result*************"); Debug.WriteLine(result); //var newRecord = JsonConvert.DeserializeObject<T>(result); var list = JsonConvert.DeserializeObject<List<T>>(result, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); Debug.WriteLine("+++++++++++++++++++++++++list++++++++++++++++++++++++"); Debug.WriteLine(list); return new Response { IsSuccess = true, Message = "OK", Result = list, }; } catch (Exception ex) { return new Response { IsSuccess = false, Message = ex.Message, }; } }