From 5149d429ab3938102b707bff670faa6cf19adeb5 Mon Sep 17 00:00:00 2001 From: Giuliano Paschoalino Date: Fri, 1 Aug 2025 16:13:32 -0300 Subject: [PATCH] =?UTF-8?q?feat!:=20Funcionalidades=20adicionadas=20para?= =?UTF-8?q?=20atualiza=C3=A7=C3=B5es=20autom=C3=A1ticas=20de=20vers=C3=A3o?= =?UTF-8?q?=20e=20rolagem=20dos=20itens=20de=20Empresa=20e=20Unidade.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BD_empresa.csproj | 15 +++ Data/AccessService.cs | 58 ++--------- Data/IClienteRepository.cs | 3 +- Data/{ClienteSmart.cs => UnidadeSmart.cs} | 5 +- MainWindow.xaml | 83 +++++++++++++--- MainWindow.xaml.cs | 29 ++++++ ViewModels/MainWindowViewModel.cs | 112 ++++++++++++++++------ marca.ico | Bin 0 -> 183806 bytes marca.png | Bin 0 -> 43952 bytes 9 files changed, 212 insertions(+), 93 deletions(-) rename Data/{ClienteSmart.cs => UnidadeSmart.cs} (74%) create mode 100644 marca.ico create mode 100644 marca.png diff --git a/BD_empresa.csproj b/BD_empresa.csproj index c01d888..02265c2 100644 --- a/BD_empresa.csproj +++ b/BD_empresa.csproj @@ -6,8 +6,19 @@ enable enable true + marca.ico + + + + + + + PreserveNewest + + + @@ -15,4 +26,8 @@ + + + + diff --git a/Data/AccessService.cs b/Data/AccessService.cs index 42af733..17fa4b9 100644 --- a/Data/AccessService.cs +++ b/Data/AccessService.cs @@ -11,74 +11,34 @@ namespace BD_empresa.Data { private readonly string _connectionString = connectionString; - public async Task> SearchClientesAsync(string query) + public async Task> GetAllClientesAsync() { return await Task.Run(() => { - var clientes = new List(); + var unidades = new List(); using (var connection = new OleDbConnection(_connectionString)) { connection.Open(); - string sql = @"SELECT Gestao, Cliente, Unidade, CNPJ_CPF, Codigo_Instalacao, Razao_Social FROM Dados_cadastrais WHERE CNPJ_CPF LIKE ? OR Codigo_Instalacao LIKE ? OR Razao_Social LIKE ? OR Cliente LIKE ?"; + string sql = "SELECT Cod_Smart_cliente, Cod_Smart_unidade, Gestao, Cliente, Unidade, CNPJ_CPF, Codigo_Instalacao, Razao_Social, Caminho_NFs FROM Dados_cadastrais"; using var cmd = new OleDbCommand(sql, connection); - string likeQuery = $"%{query}%"; - cmd.Parameters.AddWithValue("?", likeQuery); - cmd.Parameters.AddWithValue("?", likeQuery); - cmd.Parameters.AddWithValue("?", likeQuery); - cmd.Parameters.AddWithValue("?", likeQuery); using var reader = cmd.ExecuteReader(); while (reader.Read()) { - clientes.Add(new ClienteSmart + unidades.Add(new UnidadeSmart { + Cod_Smart_cliente = long.Parse(reader["Cod_Smart_cliente"].ToString() ?? "0"), + Cod_Smart_unidade = long.Parse(reader["Cod_Smart_unidade"].ToString() ?? "0"), Gestao = reader["Gestao"].ToString(), Cliente = reader["Cliente"].ToString(), Unidade = reader["Unidade"].ToString(), CNPJ_CPF = reader["CNPJ_CPF"].ToString(), Codigo_Instalacao = reader["Codigo_Instalacao"].ToString(), - Razao_Social = reader["Razao_Social"].ToString() + Razao_Social = reader["Razao_Social"].ToString(), + Caminho_NFs = reader["Caminho_NFs"].ToString() }); } } - // Unifica clientes por CNPJ, retorna no máximo 3 - return clientes - .GroupBy(c => c.CNPJ_CPF) - .Select(g => g.First()) - .Take(3) - .ToList(); - }); - } - - public async Task> GetAllClientesAsync() - { - return await Task.Run(() => - { - var clientes = new List(); - using (var connection = new OleDbConnection(_connectionString)) - { - connection.Open(); - string sql = "SELECT Gestao, Cliente, Unidade, CNPJ_CPF, Codigo_Instalacao, Razao_Social FROM Dados_cadastrais"; - using var cmd = new OleDbCommand(sql, connection); - using var reader = cmd.ExecuteReader(); - while (reader.Read()) - { - clientes.Add(new ClienteSmart - { - Gestao = reader["Gestao"].ToString(), - Cliente = reader["Cliente"].ToString(), - Unidade = reader["Unidade"].ToString(), - CNPJ_CPF = reader["CNPJ_CPF"].ToString(), - Codigo_Instalacao = reader["Codigo_Instalacao"].ToString(), - Razao_Social = reader["Razao_Social"].ToString() - }); - } - } - // Unifica clientes por CNPJ - return clientes - .GroupBy(c => c.CNPJ_CPF) - .Select(g => g.First()) - .Take(3) - .ToList(); + return unidades; }); } } diff --git a/Data/IClienteRepository.cs b/Data/IClienteRepository.cs index ef6ce08..f1ad28e 100644 --- a/Data/IClienteRepository.cs +++ b/Data/IClienteRepository.cs @@ -5,7 +5,6 @@ namespace BD_empresa.Data { public interface IClienteRepository { - Task> SearchClientesAsync(string query); - Task> GetAllClientesAsync(); + Task> GetAllClientesAsync(); } } diff --git a/Data/ClienteSmart.cs b/Data/UnidadeSmart.cs similarity index 74% rename from Data/ClienteSmart.cs rename to Data/UnidadeSmart.cs index 4245916..3473597 100644 --- a/Data/ClienteSmart.cs +++ b/Data/UnidadeSmart.cs @@ -2,14 +2,17 @@ using System.ComponentModel; namespace BD_empresa.Data { - public class ClienteSmart : INotifyPropertyChanged + public class UnidadeSmart : INotifyPropertyChanged { + public long Cod_Smart_cliente { get; set; } + public long Cod_Smart_unidade { get; set; } public string? Gestao { get; set; } public string? Cliente { get; set; } public string? Unidade { get; set; } public string? CNPJ_CPF { get; set; } public string? Codigo_Instalacao { get; set; } public string? Razao_Social { get; set; } + public string? Caminho_NFs { get; set; } public event PropertyChangedEventHandler? PropertyChanged; protected void OnPropertyChanged(string propertyName) diff --git a/MainWindow.xaml b/MainWindow.xaml index d3f8fd7..1a80f99 100644 --- a/MainWindow.xaml +++ b/MainWindow.xaml @@ -5,36 +5,57 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:BD_empresa" mc:Ignorable="d" - Title="MainWindow" Height="450" Width="800"> + Title="Pesquisar Unidades" Height="650" Width="800"> + - - + + + + + + + + + +