public IActionResult GerarStringComparacao()
        {
            RodoviaDominio rodoviaDominio = new RodoviaDominio();

            List <PassagensPedagio> listaPassagensPedagiosGroupRodovia = new List <PassagensPedagio>();

            listaPassagensPedagiosGroupRodovia = _rodoviaRepository.GetRodoviaPassagensPedagio();
            foreach (PassagensPedagio itemRodvia in listaPassagensPedagiosGroupRodovia)
            {
                List <PassagensPedagio> listaPraca = new List <PassagensPedagio>();
                listaPraca = _rodoviaRepository.GetPracasPassagensPedagio(itemRodvia.Rodovia);
                foreach (PassagensPedagio itemPraca in listaPraca)
                {
                    //Verifica Chave Um
                    var MontaChaveUm = new ChaveBuscaViewsModels();
                    MontaChaveUm = rodoviaDominio.MontaChaveUm(itemPraca.Praca);
                    if (MontaChaveUm.Valida)
                    {
                        //Chave é valida
                        AtualizaPassagensPedagio(MontaChaveUm, itemPraca.PassagemPedagioId);
                    }
                    if (!MontaChaveUm.Valida)
                    {
                        var MontaChaveDois = new ChaveBuscaViewsModels();
                        MontaChaveDois = rodoviaDominio.MontaChaveDois(itemPraca.Praca);
                        if (MontaChaveDois.Valida)
                        {
                            AtualizaPassagensPedagio(MontaChaveDois, itemPraca.PassagemPedagioId);
                        }
                    }
                }
            }



            return(View());
        }
        public async Task <IActionResult> EnviarArquivo(List <IFormFile> arquivos)
        {
            ViewBag.Carregamento = "Carregando";

            var arquivoImportado = new ArquivosImportados();
            int _contagem        = 0;

            long tamanhoArquivos = arquivos.Sum(f => f.Length);
            // caminho completo do arquivo na localização temporária
            var caminhoArquivo = Path.GetTempFileName();

            // processa os arquivo enviados
            //percorre a lista de arquivos selecionados
            foreach (var arquivo in arquivos)
            {
                //verifica se existem arquivos
                if (arquivo == null || arquivo.Length == 0)
                {
                    //retorna a viewdata com erro
                    ViewData["Erro"] = "Error: Arquivo(s) não selecionado(s)";
                    return(View(ViewData));
                }
                // < define a pasta onde vamos salvar os arquivos >
                string pasta = "Arquivos_Usuario";
                // Define um nome para o arquivo enviado incluindo o sufixo obtido de milesegundos
                string nomeArquivo = "RodoviaTarifasOp_" + DateTime.Now.Millisecond.ToString();
                //verifica qual o tipo de arquivo : xlsx, xls ou tmp
                if (arquivo.FileName.Contains(".xlsx"))
                {
                    nomeArquivo += ".xlsx";
                }
                else if (arquivo.FileName.Contains(".xls"))
                {
                    nomeArquivo += ".xls";
                }
                else
                {
                    nomeArquivo += ".tmp";
                }
                //< obtém o caminho físico da pasta wwwroot >
                string caminho_WebRoot = _appEnvironment.WebRootPath;
                // monta o caminho onde vamos salvar o arquivo :
                // ~\wwwroot\Arquivos\Arquivos_Usuario\Recebidos
                string caminhoDestinoArquivo = caminho_WebRoot + "\\" + pasta + "\\";
                // incluir a pasta Recebidos e o nome do arquivo enviado :
                // ~\wwwroot\Arquivos\Arquivos_Usuario\Recebidos\
                string caminhoDestinoArquivoOriginal = caminhoDestinoArquivo + "\\Recebidos\\" + nomeArquivo;
                string caminhoArquivoServ            = caminhoDestinoArquivo + "\\Recebidos\\";
                //copia o arquivo para o local de destino original
                using (var stream = new FileStream(caminhoDestinoArquivoOriginal, FileMode.Create))
                {
                    await arquivo.CopyToAsync(stream);
                }

                arquivoImportado.NomeOrigem      = arquivo.FileName;
                arquivoImportado.NomeGerado      = nomeArquivo;
                arquivoImportado.PastaImportacao = caminhoArquivoServ;
                arquivoImportado.DataImportacao  = DateTime.Today;
                arquivoImportado.PessoaIdCad     = 1;
                arquivoImportado.PessoaIdEmp     = 1;

                _contagem++;
            }

            RodoviaDominio rodoviaDominio = new RodoviaDominio();

            //SALVA TABELA RODOVIA TARIFA FOI DESATIVADO POIS O CLIENTE NÃO SABE OQUE QUER

            /*List<Rodovia> listaRodovias = _rodoviaRepository.RodoviaListar();
             *
             * foreach (Rodovia rodovia in listaRodovias)
             * {
             *
             *  List<RodoviasTarifas> listaRodoviasTarifas = new List<RodoviasTarifas>();
             *  listaRodoviasTarifas = rodoviaDominio.LerExcelRodovia(arquivoImportado, rodovia);
             *
             *  foreach (RodoviasTarifas rodoviasTarifa in listaRodoviasTarifas)
             *  {
             *      _rodoviaRepository.SalvarRodoviaTarifa(rodoviasTarifa);
             *  }
             * }*/

            List <RodoviaTarifasOperadoras> listaRodoviaTarifasOperadoras = new List <RodoviaTarifasOperadoras>();

            listaRodoviaTarifasOperadoras = rodoviaDominio.LerExcelRodoviaTarifasOperadoras(arquivoImportado);

            foreach (RodoviaTarifasOperadoras rodoviaTarifasOperadoras in listaRodoviaTarifasOperadoras)
            {
                _rodoviaRepository.SalvarRodoviaTarifaOperadoras(rodoviaTarifasOperadoras);
            }

            //return Redirect("ListarRodoviasTarifa");
            return(Redirect("ListarRodoviasTarifaOperadoras"));
        }