summaryrefslogtreecommitdiff
path: root/Gestor.Application/Componentes/CoberturaView.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Gestor.Application/Componentes/CoberturaView.cs')
-rw-r--r--Gestor.Application/Componentes/CoberturaView.cs139
1 files changed, 139 insertions, 0 deletions
diff --git a/Gestor.Application/Componentes/CoberturaView.cs b/Gestor.Application/Componentes/CoberturaView.cs
new file mode 100644
index 0000000..1aca48f
--- /dev/null
+++ b/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<List<CoberturaPadrao>> 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