internal static void AtualizarCotacoes()
 {
     try
     {
         if (AtualizacoesCotacao.LiberarAtualizacao())
         {
             var listaCotacoes = CotacaoCSV.ListarCotacoes();
             CotacaoService.Adicionar(listaCotacoes);
         }
     }
     catch (Exception e)
     {
         throw new Exception($"Erro ao atualizar cotações: {e.Message}");
     }
 }
        internal static IEnumerable <Cotacao> Listar()
        {
            AtualizacoesCotacao.AtualizarCotacoes();

            var sql = "select * from cotacoes";

            try
            {
                AbrirConexao();
                var listaSaida = conexao.Query <Cotacao>(sql);
                FecharConexao();

                return(listaSaida);
            }
            catch (System.Exception e)
            {
                throw new Exception($"Erro ao obter a lista de moedas: {e.Message}");
            }
        }
        internal static Conversao ConverterParaReais(decimal Montante, string SiglaMoeda)
        {
            AtualizacoesCotacao.AtualizarCotacoes();

            var sql = "select public.ConverterParaReais(@sigla,@montante)";

            try
            {
                AbrirConexao();
                var valorConvercao = conexao.QueryFirst <decimal>(sql, new { montante = Montante, sigla = SiglaMoeda.ToUpper() });
                FecharConexao();

                return(new Conversao(valorConvercao));
            }
            catch
            {
                return(new Conversao(-1));
            }
        }
        internal static decimal ObterParidadeVenda(string siglaMoeda)
        {
            AtualizacoesCotacao.AtualizarCotacoes();

            var sql = @"select t.paridadevenda from public.cotacoes t
                        where t.codigomoeda = (select m.codigo from moedas m where m.sigla = @sigla)
                        and t.data = (select MAX(s.data) from public.cotacoes s)";

            try
            {
                AtualizacoesCotacao.AtualizarCotacoes();

                AbrirConexao();
                var taxaCompra = conexao.QueryFirst <decimal>(sql, new { sigla = siglaMoeda });
                FecharConexao();
                return(taxaCompra);
            }
            catch (Exception e)
            {
                throw new Exception($"Erro ao buscar a paridade de venda - {siglaMoeda}: { e.Message}");
            }
        }
Exemple #5
0
        public static Cotacao ObterUltima(int codigoMoeda)
        {
            AtualizacoesCotacao.AtualizarCotacoes();

            return(CotacaoRepository.ObterUltima(codigoMoeda));
        }
Exemple #6
0
        public static decimal ObterParidadeVenda(string siglaMoeda)
        {
            AtualizacoesCotacao.AtualizarCotacoes();

            return(CotacaoRepository.ObterParidadeVenda(siglaMoeda.ToUpper()));
        }
Exemple #7
0
        public static IEnumerable <Cotacao> ListarCotacoes()
        {
            AtualizacoesCotacao.AtualizarCotacoes();

            return(CotacaoRepository.Listar());
        }
Exemple #8
0
        public static Cotacao ObterUltima(string siglaMoeda)
        {
            AtualizacoesCotacao.AtualizarCotacoes();

            return(CotacaoRepository.ObterUltima(siglaMoeda.ToUpper()));
        }