Beispiel #1
0
        public async Task <IEnumerable <ITabelaDePreco <int> > > ObtemTabelasDePrecoAsync(IEnumerable <int> idsTabelas, TipoDeTabelaDePreco tipo, PeriodoSimples periodo = null)
        {
            PeriodoSimples periodoRequisicao = periodo;

            string apiPath = new Uri(new Uri(_endpoint), Constantes.URL_TABELA_DE_PRECO).AbsoluteUri;
            RequisicaoSemConteudo <IEnumerable <ITabelaDePreco <int> > > requisicao = new RequisicaoSemConteudo <IEnumerable <ITabelaDePreco <int> > >(apiPath, _context);

            if (periodoRequisicao != null)
            {
                requisicao.Parameters.Add(new ParametrosDaRequisicao("inicio", periodoRequisicao.Inicio.ToString("yyyy-MM-ddTHH:mm:ss")));
                requisicao.Parameters.Add(new ParametrosDaRequisicao("fim", periodoRequisicao.Fim.ToString("yyyy-MM-ddTHH:mm:ss")));
            }

            if (tipo != null)
            {
                requisicao.Parameters.Add(new ParametrosDaRequisicao("Tipo", tipo.Id.ToString()));
            }

            if (idsTabelas?.Count() > 0)
            {
                requisicao.Parameters.Add(new ParametrosDaRequisicao("ids", String.Join(",", idsTabelas)));
            }

            System.Threading.CancellationToken cancellationToken = new System.Threading.CancellationToken();
            string tabelasSerializadas = await requisicao.ObtemAsync(cancellationToken);

            IEnumerable <ITabelaDePreco <int> > tabelas = DeserializarTabelas(tabelasSerializadas);

            return(tabelas);
        }
Beispiel #2
0
        public async Task <IEnumerable <ITabelaDePreco <int> > > ListaTabelasDePrecoAsync(PeriodoSimples periodo)
        {
            PeriodoSimples periodoRequisicao = periodo;

            if (periodoRequisicao == null)
            {
                periodoRequisicao = new PeriodoSimples();
            }

            string apiPath = new Uri(new Uri(_endpoint), Constantes.URL_TABELA_DE_PRECO).AbsoluteUri;
            RequisicaoSemConteudo <IEnumerable <ITabelaDePreco <int> > > requisicao = new RequisicaoSemConteudo <IEnumerable <ITabelaDePreco <int> > >(apiPath, _context);

            requisicao.Parameters.Add(new ParametrosDaRequisicao("inicio", periodoRequisicao.Inicio.ToString("yyyy-MM-ddTHH:mm:ss")));
            requisicao.Parameters.Add(new ParametrosDaRequisicao("fim", periodoRequisicao.Fim.ToString("yyyy-MM-ddTHH:mm:ss")));

            System.Threading.CancellationToken cancellationToken = new System.Threading.CancellationToken();
            string tabelasSerializadas = await requisicao.ObtemAsync(cancellationToken);

            IEnumerable <ITabelaDePreco <int> > tabelas = DeserializarTabelas(tabelasSerializadas);

            return(tabelas);
        }
Beispiel #3
0
        public async Task <IEnumerable <Competencia> > ObterCompetenciasAsync(params string[] identificadoresCompetencias)
        {
            return(identificadoresCompetencias.Select(anoMes => new CompetenciaMensal(anoMes)));

            string apiPath = new Uri(new Uri(_endpoint), Constantes.URL_COMPETENCIAS).AbsoluteUri;
            RequisicaoSemConteudo <IEnumerable <Competencia> > requisicao = new RequisicaoSemConteudo <IEnumerable <Competencia> >(apiPath, _context);

            if (identificadoresCompetencias?.Count() > 0)
            {
                requisicao.Parameters.Add(new ParametrosDaRequisicao("competencias", String.Join(",", identificadoresCompetencias)));
            }

            System.Threading.CancellationToken cancellationToken = new System.Threading.CancellationToken();
            string competenciasSerializadas = await requisicao.ObtemAsync(cancellationToken);

            JsonSerializerSettings settings = new JsonSerializerSettings()
            {
                ContractResolver = new JsonLeitorDeCompetenciaContractResolver()
            };
            IEnumerable <Competencia> competencias = JsonConvert.DeserializeObject <IEnumerable <Competencia> >(competenciasSerializadas, settings);

            return(competencias);
        }