Пример #1
0
        /// <summary>
        ///  Executa a criação do objeto de chamada ao WebService
        /// </summary>
        /// <returns>Http client.</returns>
        /// <param name="tipoChamada">Tipo chamada(Enum).</param>
        internal static HttpClient CreateHttpClient(EnumCallAPI tipoChamada)
        {
            var conn = new HttpClient();
            var repo = new BuBlingRepository_Droid();

            switch (tipoChamada)
            {
                case EnumCallAPI.Home:
                    conn.BaseAddress = new Uri(ENDERECO_HOME);
                    break;

                case EnumCallAPI.Login:
                    conn.BaseAddress = new Uri(String.Concat(DOMAIN, ENDERECO_LOGIN));
                    break;

                case EnumCallAPI.Promo: 
                    conn.BaseAddress = new Uri(String.Concat(DOMAIN, String.Format(ENDERECO_PROMO,
                                String.IsNullOrEmpty(App.EMAIL_USUARIO) ? repo.RetornarEmailUsuarioLogado() : App.EMAIL_USUARIO)
                        ));
                    break;

                case EnumCallAPI.Teste: 
                    conn.BaseAddress = new Uri(ENDERECO_TESTE);
                    break;

                default:
                    break;
            }

            conn.Timeout = TimeSpan.FromSeconds(15);
            conn.DefaultRequestHeaders.Accept.Clear();
            conn.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/xml"));

            return conn;
        }
Пример #2
0
        /// <summary>
        /// Executa a chamada ao serviço e retorna uma STRING
        /// </summary>
        /// <returns>String</returns>
        /// <param name="tipoChamada">Tipo chamada.</param>
        public static async Task<string> ExecChamadaAPIComRetornoString(EnumCallAPI tipoChamada)
        {
            var conn = CreateHttpClient(tipoChamada);

            using (conn)
            {   
                try
                {
                    var response = await conn.GetAsync(conn.BaseAddress);

                    if (String.IsNullOrEmpty(await response.Content.ReadAsStringAsync()))
                        return "Retorno vazio do servidor !";

                    return await response.Content.ReadAsStringAsync();
                }
                catch (Exception ex)
                {
                    return ex.Message;
                }
            }
        }