public static string ToParameter(this EstadoPromocao estado)
        {
            var type      = typeof(EstadoPromocao);
            var memInfo   = type.GetMember(estado.ToString());
            var attribute = ((EnumMemberAttribute)memInfo[0].GetCustomAttribute(typeof(EnumMemberAttribute), false));

            return(attribute?.Value ?? estado.ToString());
        }
Exemple #2
0
        public async Task <DefinicaoPromocoesResponse> ConsultarPromocoes(EstadoPromocao estado)
        {
            try
            {
                var request  = Empresa.CriarRequisicao(HttpMethod.Get, $"promociones?estado={estado.ToParameter()}");
                var response = await client.SendAsync(request);

                if (!response.IsSuccessStatusCode)
                {
                    throw new Exception($"A consulta retornou o código {response.StatusCode}");
                }
                var strResponse = await response.Content.ReadAsStringAsync();

                return(DefinicaoPromocoesResponse.FromJson(strResponse));
            }
            catch (Exception ex)
            {
                throw new ConsultarPromocoesPorEstadoExcecao(Empresa, estado, ex);
            }
        }
        public async Task <DefinicaoPromocoesResponse> ConsultarPromocoesAsync(EstadoPromocao estado)
        {
            try
            {
                var request  = MakeAuthenticated($"{BaseUrl}promociones?estado={estado.ToParameter()}", HttpMethod.Get);
                var response = await client.SendAsync(request);

                if (!response.IsSuccessStatusCode)
                {
                    throw new Exception($"Ocorreu um erro ao consultar o estado das promoções, StatusCode {response.StatusCode}");
                }
                var json = await response.Content.ReadAsStringAsync();

                return(DefinicaoPromocoesResponse.FromJson(json));
            }
            catch (Exception ex)
            {
                throw new Exception("Falha ao consultar", ex);
            }
        }
Exemple #4
0
 public ConsultarPromocoesPorEstadoExcecao(Empresa empresa, EstadoPromocao estado, Exception ex) : base(string.Format(MESSAGE, estado.ToParameter(), empresa.Usuario, empresa.Codigo, empresa.Local), ex)
 {
 }