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 --- .../Componentes/CoberturaView.cs | 139 +++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 Codemerx/Gestor.Application/Componentes/CoberturaView.cs (limited to 'Codemerx/Gestor.Application/Componentes/CoberturaView.cs') diff --git a/Codemerx/Gestor.Application/Componentes/CoberturaView.cs b/Codemerx/Gestor.Application/Componentes/CoberturaView.cs new file mode 100644 index 0000000..1aca48f --- /dev/null +++ b/Codemerx/Gestor.Application/Componentes/CoberturaView.cs @@ -0,0 +1,139 @@ +using Gestor.Application.ViewModels; +using Gestor.Application.ViewModels.Generic; +using Gestor.Application.Views.Generic; +using Gestor.Common.Validation; +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.Markup; + +namespace Gestor.Application.Componentes +{ + public class CoberturaView : BaseUserControl, IComponentConnector, IStyleConnector + { + internal DataGrid CoberturaGrid; + + private bool _contentLoaded; + + public CoberturaViewModel ViewModel + { + get; + set; + } + + public CoberturaView(CoberturaViewModel viewModel) + { + this.ViewModel = viewModel ?? new CoberturaViewModel(null, null); + this.InitializeComponent(); + this.CoberturaGrid.DataContext = this.ViewModel; + } + + private void AdicionaCobertura_OnClick(object sender, RoutedEventArgs e) + { + this.ViewModel.AdicionaCobertura(); + } + + private void AutoCompleteBox_Populating(object sender, PopulatingEventArgs e) + { + if (!this.ViewModel.IsEnabled || e.get_Parameter().Trim().Length < 3) + { + return; + } + e.set_Cancel(true); + this.ViewModel.BuscarCobertura(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 ExcluirCobertura_OnClick(object sender, RoutedEventArgs e) + { + bool selectedIndex; + object item; + DataGrid coberturaGrid = this.CoberturaGrid; + if (coberturaGrid != null) + { + selectedIndex = coberturaGrid.SelectedIndex < 0; + } + else + { + selectedIndex = false; + } + if (selectedIndex) + { + return; + } + CoberturaViewModel viewModel = this.ViewModel; + DataGrid dataGrid = this.CoberturaGrid; + if (dataGrid != null) + { + item = dataGrid.Items[this.CoberturaGrid.SelectedIndex]; + } + else + { + item = null; + } + viewModel.ExcluirCobertura((Cobertura)item); + } + + [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/componentes/coberturaview.xaml", UriKind.Relative)); + } + + [DebuggerNonUserCode] + [EditorBrowsable(EditorBrowsableState.Never)] + [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) + { + if (connectionId == 1) + { + ((MenuItem)target).Click += new RoutedEventHandler(this.AdicionaCobertura_OnClick); + return; + } + if (connectionId != 2) + { + this._contentLoaded = true; + return; + } + this.CoberturaGrid = (DataGrid)target; + } + + [DebuggerNonUserCode] + [EditorBrowsable(EditorBrowsableState.Never)] + [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] + void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) + { + if (connectionId == 3) + { + ((AutoCompleteBox)target).add_Populating(new PopulatingEventHandler(this, CoberturaView.AutoCompleteBox_Populating)); + return; + } + if (connectionId != 4) + { + return; + } + ((Button)target).Click += new RoutedEventHandler(this.ExcluirCobertura_OnClick); + } + } +} \ No newline at end of file -- cgit v1.2.3