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); } } }