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); } }
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); } }