From 674ca83ba9243a9e95a7568c797668dab6aee26a Mon Sep 17 00:00:00 2001 From: Lucas Faria Mendes Date: Mon, 30 Mar 2026 10:35:25 -0300 Subject: feat: upload files --- .../Views/Ferramentas/CadastroParceiroView.cs | 387 +++++++++++++++++++++ 1 file changed, 387 insertions(+) create mode 100644 Gestor.Application/Views/Ferramentas/CadastroParceiroView.cs (limited to 'Gestor.Application/Views/Ferramentas/CadastroParceiroView.cs') diff --git a/Gestor.Application/Views/Ferramentas/CadastroParceiroView.cs b/Gestor.Application/Views/Ferramentas/CadastroParceiroView.cs new file mode 100644 index 0000000..ae3bfde --- /dev/null +++ b/Gestor.Application/Views/Ferramentas/CadastroParceiroView.cs @@ -0,0 +1,387 @@ +using Gestor.Application.Helpers; +using Gestor.Application.ViewModels.Ferramentas; +using Gestor.Application.ViewModels.Generic; +using Gestor.Application.Views.Generic; +using Gestor.Common.Validation; +using Gestor.Model.Domain.Generic; +using Gestor.Model.Domain.Seguros; +using System; +using System.CodeDom.Compiler; +using System.Collections.Generic; +using System.ComponentModel; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Threading; + +namespace Gestor.Application.Views.Ferramentas +{ + public class CadastroParceiroView : BaseUserControl, IComponentConnector + { + internal DataGrid ParceiroGrid; + + internal MenuItem MaisOpcoesButton; + + internal TextBox NomeBox; + + internal TextBox DocumentoPrincipalBox; + + internal TextBox PrimeiroPrefixo; + + internal TextBox PrimeiroTelefone; + + internal TextBox SegundoPrefixo; + + internal TextBox SegundoTelefone; + + internal TextBox TerceiroPrefixo; + + internal TextBox TerceiroTelefone; + + internal TextBox EmailBox; + + internal TextBox CepBox; + + internal TextBox EnderecoBox; + + internal TextBox NumeroBox; + + internal TextBox BairroBox; + + internal TextBox CidadeBox; + + internal TextBox EstadoBox; + + private bool _contentLoaded; + + public CadastroParceiroViewModel ViewModel + { + get; + set; + } + + [DebuggerNonUserCode] + [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] + internal Delegate _CreateDelegate(Type delegateType, string handler) + { + return Delegate.CreateDelegate(delegateType, this, handler); + } + + public CadastroParceiroView(Parceiro parceiro = null) + { + CadastroParceiroView cadastroParceiroView = this; + base.Tag = "CADASTRO DE PARCEIROS"; + this.ViewModel = new CadastroParceiroViewModel(parceiro); + base.DataContext = this.ViewModel; + this.InitializeComponent(); + System.Windows.Threading.Dispatcher dispatcher = base.Dispatcher; + if (dispatcher == null) + { + return; + } + dispatcher.BeginInvoke(DispatcherPriority.Render, new Action(() => cadastroParceiroView.ContentLoad(parceiro))); + } + + private void AbrirLog_OnClick(object sender, RoutedEventArgs e) + { + this.ViewModel.AbrirLog(22, this.ViewModel.SelectedParceiro.get_Id()); + } + + private void Alterar_OnClick(object sender, RoutedEventArgs e) + { + this.ViewModel.CancelParceiro = (Parceiro)this.ViewModel.SelectedParceiro.Clone(); + this.ViewModel.Alterar(true); + this.ValidarTela(); + this.ViewModel.SelectedParceiro.Initialize(); + } + + private void AutoCompleteBox_OnTextChanged(object sender, RoutedEventArgs e) + { + if (!string.IsNullOrWhiteSpace(((AutoCompleteBox)sender).get_Text())) + { + return; + } + this.ViewModel.FiltrarParceiro(""); + } + + private void AutoCompleteBoxParceiro_Populating(object sender, PopulatingEventArgs e) + { + e.set_Cancel(true); + this.ViewModel.Filtrar(ValidationHelper.RemoveDiacritics(e.get_Parameter().Trim())).ContinueWith((Task> searchResult) => { + if (searchResult.Result == null) + { + return; + } + AutoCompleteBox autoCompleteBox = (AutoCompleteBox)sender; + autoCompleteBox.set_ItemsSource(searchResult.Result); + autoCompleteBox.PopulateComplete(); + }, TaskScheduler.FromCurrentSynchronizationContext()); + } + + private void Cancelar_OnClick(object sender, RoutedEventArgs e) + { + this.ViewModel.CancelarAlteracao(); + } + + private void ContentLoad(Parceiro parceiro) + { + if (parceiro == null) + { + this.ParceiroGrid.SelectedIndex = -1; + } + this.ParceiroGrid.SelectionChanged += new SelectionChangedEventHandler(this.ParceiroGrid_OnSelectionChanged); + this.ParceiroGrid.MouseDoubleClick += new MouseButtonEventHandler((object sender, MouseButtonEventArgs args) => { + }); + } + + private void DocumentoPrincipalBox_LostFocus(object sender, RoutedEventArgs e) + { + if (((TextBox)sender).IsReadOnly) + { + return; + } + string str = ValidationHelper.Clear(this.DocumentoPrincipalBox.Text); + if (string.IsNullOrEmpty(str)) + { + return; + } + this.DocumentoPrincipalBox.Text = (str.Length == 11 ? ValidationHelper.FormatDocument(str.PadLeft(11, '0').Substring(0, 11)) : ValidationHelper.FormatDocument(str.PadLeft(14, '0').Substring(0, 14))); + } + + private void Excluir_OnClick(object sender, RoutedEventArgs e) + { + this.ViewModel.Excluir(); + } + + private void Incluir_OnClick(object sender, RoutedEventArgs e) + { + this.ViewModel.Incluir(); + this.ValidarTela(); + } + + [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/views/ferramentas/cadastroparceiroview.xaml", UriKind.Relative)); + } + + private void ParceiroGrid_OnSelectionChanged(object sender, SelectionChangedEventArgs e) + { + DataGrid dataGrid = (DataGrid)sender; + if (dataGrid != null && dataGrid.SelectedIndex < 0) + { + return; + } + this.ViewModel.SelecionarParceiro((Parceiro)((dataGrid != null ? dataGrid.Items[dataGrid.SelectedIndex] : null))); + } + + private async void PostcodeBox_OnLostFocus(object sender, RoutedEventArgs e) + { + string str = ValidationHelper.FormatPostCode(((TextBox)sender).Text); + this.CepBox.Text = str; + if (ValidationHelper.ValidatePostCode(str)) + { + EnderecoBase enderecoBase = await this.ViewModel.BuscaCep(str); + if (enderecoBase != null) + { + this.EnderecoBox.Text = enderecoBase.get_Endereco(); + this.CidadeBox.Text = enderecoBase.get_Cidade(); + this.EstadoBox.Text = enderecoBase.get_Estado(); + this.BairroBox.Text = enderecoBase.get_Bairro(); + } + } + } + + private async void Salvar_OnClick(object sender, RoutedEventArgs e) + { + bool flag; + this.ViewModel.Loading(true); + this.NomeBox.Focus(); + List> keyValuePairs = await this.ViewModel.Salvar(); + this.ValidateFields(keyValuePairs, true); + flag = (keyValuePairs == null ? true : keyValuePairs.Count == 0); + this.ViewModel.Loading(false); + if (!flag) + { + await this.ViewModel.ShowMessage(keyValuePairs, this.ViewModel.ErroCamposInvalidos, "OK", ""); + } + } + + [DebuggerNonUserCode] + [EditorBrowsable(EditorBrowsableState.Never)] + [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) + { + switch (connectionId) + { + case 1: + { + ((AutoCompleteBox)target).add_Populating(new PopulatingEventHandler(this, CadastroParceiroView.AutoCompleteBoxParceiro_Populating)); + ((AutoCompleteBox)target).add_TextChanged(new RoutedEventHandler(this.AutoCompleteBox_OnTextChanged)); + return; + } + case 2: + { + this.ParceiroGrid = (DataGrid)target; + return; + } + case 3: + { + ((MenuItem)target).Click += new RoutedEventHandler(this.Incluir_OnClick); + return; + } + case 4: + { + ((MenuItem)target).Click += new RoutedEventHandler(this.Alterar_OnClick); + return; + } + case 5: + { + ((MenuItem)target).Click += new RoutedEventHandler(this.Salvar_OnClick); + return; + } + case 6: + { + ((MenuItem)target).Click += new RoutedEventHandler(this.Cancelar_OnClick); + return; + } + case 7: + { + ((MenuItem)target).Click += new RoutedEventHandler(this.Excluir_OnClick); + return; + } + case 8: + { + this.MaisOpcoesButton = (MenuItem)target; + return; + } + case 9: + { + ((MenuItem)target).Click += new RoutedEventHandler(this.AbrirLog_OnClick); + return; + } + case 10: + { + this.NomeBox = (TextBox)target; + return; + } + case 11: + { + this.DocumentoPrincipalBox = (TextBox)target; + this.DocumentoPrincipalBox.LostFocus += new RoutedEventHandler(this.DocumentoPrincipalBox_LostFocus); + CadastroParceiroView cadastroParceiroView = this; + this.DocumentoPrincipalBox.PreviewTextInput += new TextCompositionEventHandler(cadastroParceiroView.SomenteNumeros); + return; + } + case 12: + { + this.PrimeiroPrefixo = (TextBox)target; + CadastroParceiroView cadastroParceiroView1 = this; + this.PrimeiroPrefixo.PreviewTextInput += new TextCompositionEventHandler(cadastroParceiroView1.SomenteNumeros); + return; + } + case 13: + { + this.PrimeiroTelefone = (TextBox)target; + CadastroParceiroView cadastroParceiroView2 = this; + this.PrimeiroTelefone.LostFocus += new RoutedEventHandler(cadastroParceiroView2.FormatarTelefone); + CadastroParceiroView cadastroParceiroView3 = this; + this.PrimeiroTelefone.PreviewTextInput += new TextCompositionEventHandler(cadastroParceiroView3.SomenteNumeros); + return; + } + case 14: + { + this.SegundoPrefixo = (TextBox)target; + CadastroParceiroView cadastroParceiroView4 = this; + this.SegundoPrefixo.PreviewTextInput += new TextCompositionEventHandler(cadastroParceiroView4.SomenteNumeros); + return; + } + case 15: + { + this.SegundoTelefone = (TextBox)target; + CadastroParceiroView cadastroParceiroView5 = this; + this.SegundoTelefone.LostFocus += new RoutedEventHandler(cadastroParceiroView5.FormatarTelefone); + CadastroParceiroView cadastroParceiroView6 = this; + this.SegundoTelefone.PreviewTextInput += new TextCompositionEventHandler(cadastroParceiroView6.SomenteNumeros); + return; + } + case 16: + { + this.TerceiroPrefixo = (TextBox)target; + CadastroParceiroView cadastroParceiroView7 = this; + this.TerceiroPrefixo.PreviewTextInput += new TextCompositionEventHandler(cadastroParceiroView7.SomenteNumeros); + return; + } + case 17: + { + this.TerceiroTelefone = (TextBox)target; + CadastroParceiroView cadastroParceiroView8 = this; + this.TerceiroTelefone.LostFocus += new RoutedEventHandler(cadastroParceiroView8.FormatarTelefone); + CadastroParceiroView cadastroParceiroView9 = this; + this.TerceiroTelefone.PreviewTextInput += new TextCompositionEventHandler(cadastroParceiroView9.SomenteNumeros); + return; + } + case 18: + { + this.EmailBox = (TextBox)target; + return; + } + case 19: + { + this.CepBox = (TextBox)target; + this.CepBox.LostFocus += new RoutedEventHandler(this.PostcodeBox_OnLostFocus); + CadastroParceiroView cadastroParceiroView10 = this; + this.CepBox.PreviewTextInput += new TextCompositionEventHandler(cadastroParceiroView10.SomenteNumeros); + return; + } + case 20: + { + this.EnderecoBox = (TextBox)target; + return; + } + case 21: + { + this.NumeroBox = (TextBox)target; + return; + } + case 22: + { + this.BairroBox = (TextBox)target; + return; + } + case 23: + { + this.CidadeBox = (TextBox)target; + return; + } + case 24: + { + this.EstadoBox = (TextBox)target; + return; + } + } + this._contentLoaded = true; + } + + private void ValidarTela() + { + if (this.ViewModel.SelectedParceiro == null) + { + return; + } + List> keyValuePairs = this.ViewModel.SelectedParceiro.Validate(); + this.ValidateFields(keyValuePairs, false); + } + } +} \ No newline at end of file -- cgit v1.2.3