Exemplo n.º 1
0
        public static List <MoedaCsv> RetornaListaMoedasCSV(string DirMoedaCsv, Fila filaApi)
        {
            List <MoedaCsv> listaMoedasRetorno = new List <MoedaCsv>();

            //Abrindo e lendo o arquivo CSV utilizando o diretório informado no parâmetro
            var listCsv = File.ReadAllLines(DirMoedaCsv)
                          .Select(a => a.Split(';'))
                          .Select(c => new MoedaCsv()
            {
                ID_MOEDA = c[0],
                DATA_REF = c[1]
            })
                          .ToList();

            //Verificando quais moedas estão dentro do período do item retornado da API
            foreach (var item in listCsv)                                                                                        //Lendo a lista retornada do CSV
            {
                if (item.ID_MOEDA.Trim() == filaApi.Moeda.Trim())                                                                //Verificando se a Moeda é a mesma retornada pela API
                {
                    if (DateTime.Parse(item.DATA_REF) >= filaApi.DataInicio && DateTime.Parse(item.DATA_REF) <= filaApi.DataFim) //Se a data do CSV estiver dentro do período, adiciona na lista para retornar
                    {
                        MoedaCsv moedaRetorno = new MoedaCsv()
                        {
                            ID_MOEDA = item.ID_MOEDA, DATA_REF = item.DATA_REF
                        };
                        listaMoedasRetorno.Add(moedaRetorno);
                    }
                }
            }

            return(listaMoedasRetorno);
        }
Exemplo n.º 2
0
        public static void GeraArquivoCotacaoCsv(string DirCotacaoCsv, List <MoedaCsv> moedasCsv)
        {
            DateTime        localDate   = DateTime.Now;
            string          fileName    = "Resultado_" + localDate.ToString("yyyyMMdd_HHmmss");
            List <MoedaCsv> listaOutPut = new List <MoedaCsv>();


            foreach (var item in moedasCsv)                                                                                               //Lendo a lista de moedas selecionadas no CSV
            {
                MoedaDePara moedaDePara = DeParaMoedas.GetLista(item.ID_MOEDA);                                                           //Resgatando a lista de de/para das moedas

                var cotacaoMoeda = RetornaCotacaoMoeda(DirCotacaoCsv, moedaDePara.COD_COTACAO.ToString(), DateTime.Parse(item.DATA_REF)); //Retornando os dados da cotação da moeda e data informados

                //Adicionando a moeda com data e valor da cotacao para o csv de saída
                MoedaCsv moedaOutPut = new MoedaCsv()
                {
                    ID_MOEDA = item.ID_MOEDA, DATA_REF = item.DATA_REF, VL_COTACAO = cotacaoMoeda.VLR_COTACAO
                };
                listaOutPut.Add(moedaOutPut);
            }

            ExportCsv(listaOutPut, fileName);
        }