예제 #1
0
        public ConsultaArquivo ConsultarArquivos([FromBody] ConsultaArquivo consulta)
        {
            try
            {
                consulta.ArquivosEncontrados = new List <ArquivoCSV>();

                if (consulta.IdCSVFile > 0)
                {
                    consulta.ArquivosEncontrados.Add(_dal.ObterArquivoCSVPorId(consulta.IdCSVFile));
                }

                if (consulta.NomeIdentificacao.Length > 0)
                {
                    consulta.ArquivosEncontrados.AddRange(_dal.ObterArquivoCSVPorNome(consulta.NomeIdentificacao));
                }

                consulta.StatusConsulta = 1;
                consulta.Descricao      = $"({consulta.ArquivosEncontrados.Count()}) Arquivos Encontrados";

                return(consulta);
            }
            catch (Exception ex)
            {
                consulta.StatusConsulta = -1;
                consulta.Descricao      = $"Erro: {ex.Message}";
                return(consulta);
            }
        }
예제 #2
0
        public static ConsultaArquivo ConsultarArquivo(string dadoParaConsulta = null)
        {
            Console.WriteLine("Informe o nome ou id do arquivo para consulta:");

            if (string.IsNullOrEmpty(dadoParaConsulta))
            {
                dadoParaConsulta = Console.ReadLine();
            }

            try
            {
                // Preparação do objeto de arquivo com detalhes para envio
                var consulta = new ConsultaArquivo();

                var id = 0;
                int.TryParse(dadoParaConsulta, out id);

                consulta.IdCSVFile         = id;
                consulta.NomeIdentificacao = dadoParaConsulta;

                // Chamada à API de testes
                var client = new HttpClient();
                client.BaseAddress = new Uri("http://localhost:5000/");
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                // Conversão para JSON do arquivo
                string json = JsonSerializer.Serialize(consulta);

                // Envio de dados e retorno esperado como JSON
                HttpResponseMessage retorno = client.PostAsync("api/principal/consultar", new StringContent(json, Encoding.UTF8, "application/json")).Result;
                var retornoConsulta         = JsonSerializer.Deserialize <ConsultaArquivo>(retorno.Content.ReadAsStringAsync().Result);

                Console.WriteLine($"\n\n{retornoConsulta.Descricao};");

                foreach (var arq in retornoConsulta.ArquivosEncontrados.Select((value, i) => new { i, value }))
                {
                    Console.WriteLine($"\nDados do arquivo ({arq.i}):");
                    Console.WriteLine($"---Total de Linhas:{arq.value.TotalLinhas}");
                    Console.WriteLine($"---Total de Linhas Importadas:{arq.value.TotalLinhasImportadas}");
                    Console.WriteLine($"---Total de Linhas Com Erro:{arq.value.TotalLinhasComErro}");
                    Console.WriteLine($"---ID do Arquivo:{arq.value.IdCSVFile}");
                    Console.WriteLine($"---Nome de Identificação:{arq.value.NomeIdentificacao}");
                    Console.WriteLine($"---Data Processamento:{arq.value.DataInsercao.ToString("dd/MM/yyyy HH:mm:ss")}");
                    Console.WriteLine($"---Descricao Processamento:{arq.value.DescricaoProcessamento}");
                }

                return(retornoConsulta);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(null);
            }
        }