From 1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1 Mon Sep 17 00:00:00 2001 From: Lucas Faria Mendes Date: Mon, 30 Mar 2026 10:38:18 -0300 Subject: chore: location --- .../Drawers/Relatorios/ConfiguracaoRelatorio.cs | 421 +++++++++++++++++++++ .../Drawers/Relatorios/FiltroRelatorio.cs | 152 ++++++++ 2 files changed, 573 insertions(+) create mode 100644 Codemerx/Gestor.Application/Drawers/Relatorios/ConfiguracaoRelatorio.cs create mode 100644 Codemerx/Gestor.Application/Drawers/Relatorios/FiltroRelatorio.cs (limited to 'Codemerx/Gestor.Application/Drawers/Relatorios') diff --git a/Codemerx/Gestor.Application/Drawers/Relatorios/ConfiguracaoRelatorio.cs b/Codemerx/Gestor.Application/Drawers/Relatorios/ConfiguracaoRelatorio.cs new file mode 100644 index 0000000..acd3f1f --- /dev/null +++ b/Codemerx/Gestor.Application/Drawers/Relatorios/ConfiguracaoRelatorio.cs @@ -0,0 +1,421 @@ +using Gestor.Application; +using Gestor.Application.ViewModels.Generic; +using Gestor.Application.ViewModels.Relatorios; +using Gestor.Model.Domain.Relatorios; +using MaterialDesignThemes.Wpf; +using System; +using System.CodeDom.Compiler; +using System.ComponentModel; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Threading; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Markup; +using System.Windows.Threading; + +namespace Gestor.Application.Drawers.Relatorios +{ + public class ConfiguracaoRelatorio : UserControl, IComponentConnector, IStyleConnector + { + internal System.Windows.Controls.ProgressBar ProgressBar; + + internal RadioButton CampoButton; + + internal RadioButton TotalizacaoButton; + + internal ComboBox CampoComboBox; + + internal ComboBox TotalizacaoComboBox; + + internal DataGrid ParametrosGrid; + + internal DataGrid TotalizacaoGrid; + + internal Snackbar SnackbarArquivoDigital; + + private bool _contentLoaded; + + public RelatorioViewModel ViewModel + { + get; + set; + } + + [DebuggerNonUserCode] + [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] + internal Delegate _CreateDelegate(Type delegateType, string handler) + { + return Delegate.CreateDelegate(delegateType, this, handler); + } + + public ConfiguracaoRelatorio(RelatorioViewModel viewModel) + { + this.ViewModel = viewModel; + base.DataContext = this.ViewModel; + this.InitializeComponent(); + System.Windows.Threading.Dispatcher dispatcher = base.Dispatcher; + if (dispatcher == null) + { + return; + } + dispatcher.BeginInvoke(DispatcherPriority.Render, new Action(this.ContentLoad)); + } + + private void AdicionarParametro_OnClick(object sender, RoutedEventArgs e) + { + object item; + RelatorioViewModel viewModel = this.ViewModel; + ComboBox campoComboBox = this.CampoComboBox; + if (campoComboBox != null) + { + item = campoComboBox.Items[this.CampoComboBox.SelectedIndex]; + } + else + { + item = null; + } + viewModel.AdicionarParametro((ParametrosRelatorio)item); + } + + private void AdicionarTotalizacao_OnClick(object sender, RoutedEventArgs e) + { + object item; + RelatorioViewModel viewModel = this.ViewModel; + ComboBox totalizacaoComboBox = this.TotalizacaoComboBox; + if (totalizacaoComboBox != null) + { + item = totalizacaoComboBox.Items[this.TotalizacaoComboBox.SelectedIndex]; + } + else + { + item = null; + } + viewModel.AdicionarTotalizacao((ParametrosTotalizacao)item); + } + + private void Campo_OnChecked(object sender, RoutedEventArgs e) + { + this.ViewModel.IsCampo = true; + } + + private void CloseSlackBar() + { + Thread.Sleep(5000); + System.Windows.Threading.Dispatcher dispatcher = App.ProgressRing.Dispatcher; + if (dispatcher == null) + { + return; + } + dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() => this.Toggle("", false))); + } + + private async void ContentLoad() + { + this.CampoButton.IsChecked = new bool?(this.ViewModel.IsCampo); + this.TotalizacaoButton.IsChecked = new bool?(!this.ViewModel.IsCampo); + this.CampoButton.Checked += new RoutedEventHandler(this.Campo_OnChecked); + this.TotalizacaoButton.Checked += new RoutedEventHandler(this.Totalizacao_OnChecked); + this.ViewModel.IsEnabled = false; + await this.ViewModel.CarregarConfiguracoes(); + this.ViewModel.IsEnabled = true; + } + + private void DescerParametro_OnClick(object sender, RoutedEventArgs e) + { + bool selectedIndex; + object item; + DataGrid parametrosGrid = this.ParametrosGrid; + if (parametrosGrid != null) + { + selectedIndex = parametrosGrid.SelectedIndex < 0; + } + else + { + selectedIndex = false; + } + if (selectedIndex) + { + return; + } + RelatorioViewModel viewModel = this.ViewModel; + DataGrid dataGrid = this.ParametrosGrid; + if (dataGrid != null) + { + item = dataGrid.Items[this.ParametrosGrid.SelectedIndex]; + } + else + { + item = null; + } + viewModel.DescerParametro((ParametrosRelatorio)item); + } + + private void ExcluirParametro_OnClick(object sender, RoutedEventArgs e) + { + bool selectedIndex; + object item; + DataGrid parametrosGrid = this.ParametrosGrid; + if (parametrosGrid != null) + { + selectedIndex = parametrosGrid.SelectedIndex < 0; + } + else + { + selectedIndex = false; + } + if (selectedIndex) + { + return; + } + RelatorioViewModel viewModel = this.ViewModel; + DataGrid dataGrid = this.ParametrosGrid; + if (dataGrid != null) + { + item = dataGrid.Items[this.ParametrosGrid.SelectedIndex]; + } + else + { + item = null; + } + viewModel.ExcluirParametro((ParametrosRelatorio)item); + } + + private void ExcluirTotalizacao_OnClick(object sender, RoutedEventArgs e) + { + bool selectedIndex; + object item; + DataGrid totalizacaoGrid = this.TotalizacaoGrid; + if (totalizacaoGrid != null) + { + selectedIndex = totalizacaoGrid.SelectedIndex < 0; + } + else + { + selectedIndex = false; + } + if (selectedIndex) + { + return; + } + RelatorioViewModel viewModel = this.ViewModel; + DataGrid dataGrid = this.TotalizacaoGrid; + if (dataGrid != null) + { + item = dataGrid.Items[this.TotalizacaoGrid.SelectedIndex]; + } + else + { + item = null; + } + viewModel.ExcluirTotalizacao((ParametrosTotalizacao)item); + } + + private void Fechar_OnClick(object sender, RoutedEventArgs e) + { + this.ViewModel.CloseDrawer(); + } + + [DebuggerNonUserCode] + [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() + { + if (this._contentLoaded) + { + return; + } + this._contentLoaded = true; + System.Windows.Application.LoadComponent(this, new Uri("/Gestor.Application;component/drawers/relatorios/configuracaorelatorio.xaml", UriKind.Relative)); + } + + private async void Salvar_OnClick(object sender, RoutedEventArgs e) + { + this.ViewModel.IsEnabled = false; + bool flag = await this.ViewModel.SalvarParametros(); + this.ViewModel.IsEnabled = true; + if (flag) + { + this.Toggle("CONFIGURAÇÕES SALVAS.", true); + } + } + + private void SnackbarMessage_ActionClick(object sender, RoutedEventArgs e) + { + this.SnackbarArquivoDigital.set_IsActive(false); + } + + private void SubirParametro_OnClick(object sender, RoutedEventArgs e) + { + bool selectedIndex; + object item; + DataGrid parametrosGrid = this.ParametrosGrid; + if (parametrosGrid != null) + { + selectedIndex = parametrosGrid.SelectedIndex < 0; + } + else + { + selectedIndex = false; + } + if (selectedIndex) + { + return; + } + RelatorioViewModel viewModel = this.ViewModel; + DataGrid dataGrid = this.ParametrosGrid; + if (dataGrid != null) + { + item = dataGrid.Items[this.ParametrosGrid.SelectedIndex]; + } + else + { + item = null; + } + viewModel.SubirParametro((ParametrosRelatorio)item); + } + + [DebuggerNonUserCode] + [EditorBrowsable(EditorBrowsableState.Never)] + [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) + { + switch (connectionId) + { + case 1: + { + ((Button)target).Click += new RoutedEventHandler(this.Fechar_OnClick); + return; + } + case 2: + { + this.ProgressBar = (System.Windows.Controls.ProgressBar)target; + return; + } + case 3: + { + this.CampoButton = (RadioButton)target; + return; + } + case 4: + { + this.TotalizacaoButton = (RadioButton)target; + return; + } + case 5: + { + this.CampoComboBox = (ComboBox)target; + return; + } + case 6: + { + ((MenuItem)target).Click += new RoutedEventHandler(this.AdicionarParametro_OnClick); + return; + } + case 7: + { + this.TotalizacaoComboBox = (ComboBox)target; + return; + } + case 8: + { + ((MenuItem)target).Click += new RoutedEventHandler(this.AdicionarTotalizacao_OnClick); + return; + } + case 9: + { + this.ParametrosGrid = (DataGrid)target; + return; + } + case 10: + case 11: + case 12: + case 14: + { + this._contentLoaded = true; + return; + } + case 13: + { + this.TotalizacaoGrid = (DataGrid)target; + return; + } + case 15: + { + ((MenuItem)target).Click += new RoutedEventHandler(this.Salvar_OnClick); + return; + } + case 16: + { + this.SnackbarArquivoDigital = (Snackbar)target; + return; + } + case 17: + { + ((SnackbarMessage)target).add_ActionClick(new RoutedEventHandler(this.SnackbarMessage_ActionClick)); + return; + } + default: + { + this._contentLoaded = true; + return; + } + } + } + + [DebuggerNonUserCode] + [EditorBrowsable(EditorBrowsableState.Never)] + [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] + void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) + { + switch (connectionId) + { + case 10: + { + ((Button)target).Click += new RoutedEventHandler(this.SubirParametro_OnClick); + return; + } + case 11: + { + ((Button)target).Click += new RoutedEventHandler(this.DescerParametro_OnClick); + return; + } + case 12: + { + ((Button)target).Click += new RoutedEventHandler(this.ExcluirParametro_OnClick); + return; + } + case 13: + { + return; + } + case 14: + { + ((Button)target).Click += new RoutedEventHandler(this.ExcluirTotalizacao_OnClick); + return; + } + default: + { + return; + } + } + } + + public void Toggle(string message, bool active = true) + { + this.SnackbarArquivoDigital.get_Message().Content = message; + this.SnackbarArquivoDigital.set_IsActive(active); + if (!active) + { + return; + } + Task.Factory.StartNew(new Action(this.CloseSlackBar)); + } + + private void Totalizacao_OnChecked(object sender, RoutedEventArgs e) + { + this.ViewModel.IsCampo = false; + } + } +} \ No newline at end of file diff --git a/Codemerx/Gestor.Application/Drawers/Relatorios/FiltroRelatorio.cs b/Codemerx/Gestor.Application/Drawers/Relatorios/FiltroRelatorio.cs new file mode 100644 index 0000000..4c1f2a2 --- /dev/null +++ b/Codemerx/Gestor.Application/Drawers/Relatorios/FiltroRelatorio.cs @@ -0,0 +1,152 @@ +using Gestor.Application.ViewModels.Generic; +using Gestor.Application.ViewModels.Relatorios; +using Gestor.Model.Common; +using MaterialDesignThemes.Wpf; +using System; +using System.CodeDom.Compiler; +using System.Collections.Generic; +using System.ComponentModel; +using System.Diagnostics; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Markup; + +namespace Gestor.Application.Drawers.Relatorios +{ + public class FiltroRelatorio : UserControl, IComponentConnector + { + private RelatorioViewModel ViewModel; + + internal MaterialDataGridTextColumn IdField; + + internal MaterialDataGridTextColumn NomeField; + + internal MaterialDataGridTextColumn ApelidoField; + + internal DataGrid RamosGrid; + + internal DataGrid VendedorGrid; + + internal DataGrid TipoSeguroGrid; + + internal DataGrid TipoVendedorGrid; + + internal DataGrid NegocioGrid; + + internal DataGrid ProdutoGrid; + + internal DataGrid EstipulanteGrid; + + private bool _contentLoaded; + + public FiltroRelatorio(RelatorioViewModel viewModel, Relatorio relatorio) + { + this.ViewModel = viewModel; + base.DataContext = this.ViewModel; + this.InitializeComponent(); + viewModel.ReloadVendedores(); + this.VendedorGrid.Visibility = (viewModel.Vendedores.Count > 0 ? System.Windows.Visibility.Visible : System.Windows.Visibility.Collapsed); + this.EstipulanteGrid.Visibility = (viewModel.Estipulantes.Count > 0 ? System.Windows.Visibility.Visible : System.Windows.Visibility.Collapsed); + this.ProdutoGrid.Visibility = (viewModel.Produtos.Count > 0 ? System.Windows.Visibility.Visible : System.Windows.Visibility.Collapsed); + this.IdField.Visibility = (this.ViewModel.Apelido ? System.Windows.Visibility.Collapsed : System.Windows.Visibility.Visible); + this.NomeField.Visibility = (this.ViewModel.Apelido ? System.Windows.Visibility.Collapsed : System.Windows.Visibility.Visible); + this.ApelidoField.Visibility = (!this.ViewModel.Apelido ? System.Windows.Visibility.Collapsed : System.Windows.Visibility.Visible); + if (relatorio == 19) + { + this.RamosGrid.Visibility = System.Windows.Visibility.Collapsed; + this.TipoSeguroGrid.Visibility = System.Windows.Visibility.Collapsed; + this.VendedorGrid.Visibility = System.Windows.Visibility.Collapsed; + this.EstipulanteGrid.Visibility = System.Windows.Visibility.Collapsed; + this.ProdutoGrid.Visibility = System.Windows.Visibility.Collapsed; + this.TipoVendedorGrid.Visibility = System.Windows.Visibility.Collapsed; + this.NegocioGrid.Visibility = System.Windows.Visibility.Collapsed; + } + this.ViewModel.EnableMenu = true; + } + + private void Fechar_OnClick(object sender, RoutedEventArgs e) + { + this.ViewModel.Filtro = ""; + this.ViewModel.AdicionarFiltros(); + this.ViewModel.CloseDrawer(); + } + + [DebuggerNonUserCode] + [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() + { + if (this._contentLoaded) + { + return; + } + this._contentLoaded = true; + System.Windows.Application.LoadComponent(this, new Uri("/Gestor.Application;component/drawers/relatorios/filtrorelatorio.xaml", UriKind.Relative)); + } + + [DebuggerNonUserCode] + [EditorBrowsable(EditorBrowsableState.Never)] + [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) + { + switch (connectionId) + { + case 1: + { + ((Button)target).Click += new RoutedEventHandler(this.Fechar_OnClick); + return; + } + case 2: + { + this.IdField = (MaterialDataGridTextColumn)target; + return; + } + case 3: + { + this.NomeField = (MaterialDataGridTextColumn)target; + return; + } + case 4: + { + this.ApelidoField = (MaterialDataGridTextColumn)target; + return; + } + case 5: + { + this.RamosGrid = (DataGrid)target; + return; + } + case 6: + { + this.VendedorGrid = (DataGrid)target; + return; + } + case 7: + { + this.TipoSeguroGrid = (DataGrid)target; + return; + } + case 8: + { + this.TipoVendedorGrid = (DataGrid)target; + return; + } + case 9: + { + this.NegocioGrid = (DataGrid)target; + return; + } + case 10: + { + this.ProdutoGrid = (DataGrid)target; + return; + } + case 11: + { + this.EstipulanteGrid = (DataGrid)target; + return; + } + } + this._contentLoaded = true; + } + } +} \ No newline at end of file -- cgit v1.2.3