예제 #1
0
        private async void SetList()
        {
            try
            {
                AllJobsPublishedResult obj = await ConnectionAPI.Connection.GetJobList(1, 10);

                if (obj != null)
                {
                    vm.EmAberto                = new ObservableCollection <Job>(obj.jobs);
                    vm.TotalDePaginas          = obj.allPages;
                    vm.SetaEsquerda_Visibility = false;
                    if (vm.TotalDePaginas <= 1)
                    {
                        vm.SetaDireita_Visibility = false;
                    }
                    else
                    {
                        vm.SetaDireita_Visibility = true;
                    }
                }
            }
            catch (System.Exception ex)
            {
                Debug.WriteLine("HomePrestador: " + ex.Message);
                MostrarMensagem.Mostrar(ex.Message);
                return;
            }
        }
예제 #2
0
        public static async Task <AllJobsPublishedResult> GetJobList(int page, int mountOfPage)
        {
            Uri uri = new Uri(URL);

            using (HttpClient http = new HttpClient())
            {
                try
                {
                    http.BaseAddress = uri;
                    http.Timeout     = TimeSpan.FromSeconds(30);
                    HttpResponseMessage response = await http.GetAsync("v1/job/get-all-published-jobs/" + page + "/" + mountOfPage);

                    string mensagem = await response.Content.ReadAsStringAsync();

                    if (response.IsSuccessStatusCode)
                    {
                        string status = response.StatusCode.ToString();
                        AllJobsPublishedResult obj = JsonConvert.DeserializeObject <AllJobsPublishedResult>(mensagem);
                        return(obj);
                    }
                    if (response.StatusCode.ToString() == INTERNAL_SERVER_ERROR)
                    {
                        throw new Exception("Erro interno do servidor\nTente novamente mais tarde");
                    }
                    if (!string.IsNullOrWhiteSpace(mensagem))
                    {
                        throw new Exception(mensagem);
                    }
                    throw new Exception(response.StatusCode.ToString());
                }
                catch (UnknownHostException ex)
                {
                    Debug.WriteLine("Connection > GetJobList " + ex.Message + " | " + ex.InnerException);
                    throw new Exception("Conexão com servidor indisponível", ex);
                }
                catch (Javax.Net.Ssl.SSLException ex)
                {
                    Debug.WriteLine("Connection > GetJobList " + ex.Message + " | " + ex.InnerException);
                    throw new Exception("Conexão com a internet foi interrompida. Conecte-se e tente novamente.", ex);
                }
                catch (OperationCanceledException ex)
                {
                    Debug.WriteLine("Connection > GetJobList " + ex.Message + " | " + ex.InnerException);
                    throw new Exception("Operação interrompida. Verifique sua conexão com a internet", ex);
                }
                catch (System.IO.EndOfStreamException ex)
                {
                    Debug.WriteLine("Connection > GetJobList " + ex.Message + " | " + ex.InnerException);
                    throw new Exception("Conexão com a internet indisponível", ex);
                }
                catch (System.IO.IOException ex)
                {
                    Debug.WriteLine("Connection > GetJobList " + ex.Message + " | " + ex.InnerException);
                    throw new Exception("Conexão com a internet indisponível", ex);
                }
                catch (Exception ex)
                {
                    Debug.WriteLine("Connection > GetJobList  " + ex.Message + " | " + ex.InnerException);
                    throw ex;
                }
            }
        }