Adiciona campo de busca de unidades no `MainWindow.xaml`, vinculado ao ViewModel com atualização em tempo real. Ajusta métodos de manipulação de diretórios (`MouseDoubleClick` e `EnterKeyDown`) para abrir o diretório pai de `unidade.Caminho_NFs`, com validações e tratamento de exceções aprimorados. Simplifica setters das propriedades `SearchEmpresaText` e `SearchUnidadeText` no ViewModel, garantindo atualização consistente dos filtros e removendo verificações redundantes. Inclui namespace `System.IO` para manipulação de caminhos no ViewModel.
71 lines
2.8 KiB
C#
71 lines
2.8 KiB
C#
using System.Text;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Data;
|
|
using System.Windows.Documents;
|
|
using System.Windows.Input;
|
|
using System.Windows.Media;
|
|
using System.Windows.Media.Imaging;
|
|
using System.Windows.Navigation;
|
|
using System.Windows.Shapes;
|
|
|
|
namespace BD_empresa
|
|
{
|
|
/// <summary>
|
|
/// Interaction logic for MainWindow.xaml
|
|
/// </summary>
|
|
public partial class MainWindow : Window
|
|
{
|
|
public MainWindow()
|
|
{
|
|
InitializeComponent();
|
|
// Caminho do banco de dados Access
|
|
string accessDbPath = "X:\\Middle\\Informativo Setorial\\Modelo Word\\BD1_dados cadastrais e faturas.accdb";
|
|
var accessService = new Data.AccessService($"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={accessDbPath};Jet OLEDB:Database Password=gds21");
|
|
DataContext = new ViewModels.MainWindowViewModel(accessService);
|
|
}
|
|
private void Window_Loaded(object sender, RoutedEventArgs e)
|
|
{
|
|
txtEmpresaSearch.Focus();
|
|
}
|
|
|
|
private void UnidadeListView_MouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e)
|
|
{
|
|
if (sender is ListViewItem listViewItem && listViewItem.Content is Data.UnidadeSmart unidade && !string.IsNullOrWhiteSpace(unidade.Caminho_NFs))
|
|
{
|
|
string? parentDirectory = System.IO.Path.GetDirectoryName(unidade.Caminho_NFs);
|
|
|
|
if (!string.IsNullOrWhiteSpace(parentDirectory))
|
|
{
|
|
try
|
|
{
|
|
System.Diagnostics.Process.Start("explorer.exe", parentDirectory);
|
|
}
|
|
catch (System.Exception ex)
|
|
{
|
|
MessageBox.Show($"Não foi possível abrir a pasta: {ex.Message}", "Erro", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
private void UnidadeListView_EnterKeyDown(object sender, KeyEventArgs e)
|
|
{
|
|
if (e.Key == Key.Enter && sender is ListViewItem listViewItem && listViewItem.Content is Data.UnidadeSmart unidade && !string.IsNullOrWhiteSpace(unidade.Caminho_NFs))
|
|
{
|
|
string? parentDirectory = System.IO.Path.GetDirectoryName(unidade.Caminho_NFs);
|
|
|
|
if (!string.IsNullOrWhiteSpace(parentDirectory))
|
|
{
|
|
try
|
|
{
|
|
System.Diagnostics.Process.Start("explorer.exe", unidade.Caminho_NFs);
|
|
}
|
|
catch (System.Exception ex)
|
|
{
|
|
MessageBox.Show($"Não foi possível abrir a pasta: {ex.Message}", "Erro", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |