using CurrencyTextBoxControl; using Gestor.Application.Drawers; 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.Configuracoes; 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.Linq; 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 RamoView : BaseUserControl, IComponentConnector { internal DataGrid RamoGrid; internal MenuItem MaisOpcoesButton; internal TextBox ApoliceBox; internal CurrencyTextBox IofBox; internal DataGrid CoberturaGrid; private bool _contentLoaded; public RamoViewModel ViewModel { get; set; } [DebuggerNonUserCode] [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] internal Delegate _CreateDelegate(Type delegateType, string handler) { return Delegate.CreateDelegate(delegateType, this, handler); } public RamoView() { base.Tag = "RAMOS"; this.ViewModel = new RamoViewModel(); base.DataContext = this.ViewModel; this.InitializeComponent(); System.Windows.Threading.Dispatcher dispatcher = base.Dispatcher; if (dispatcher != null) { dispatcher.BeginInvoke(DispatcherPriority.Render, new Action(this.ContentLoad)); } else { } this.RamoGrid.DataContext = base.DataContext; this.CoberturaGrid.DataContext = base.DataContext; } private void AbrirLog_OnClick(object sender, RoutedEventArgs e) { this.ViewModel.AbrirLog(12, this.ViewModel.SelectedRamo.get_Id()); } private void Alterar_OnClick(object sender, RoutedEventArgs e) { this.ViewModel.CancelRamo = (Ramo)this.ViewModel.SelectedRamo.Clone(); this.ViewModel.Alterar(true); } private void AutoCompleteBox_OnTextChanged(object sender, RoutedEventArgs e) { if (!string.IsNullOrWhiteSpace(((AutoCompleteBox)sender).get_Text())) { return; } this.ViewModel.FiltrarRamo(""); } private void AutoCompleteBoxCobertura_OnTextChanged(object sender, RoutedEventArgs e) { if (!string.IsNullOrWhiteSpace(((AutoCompleteBox)sender).get_Text())) { return; } this.ViewModel.FiltrarCoberturaRamo(""); } private void AutoCompleteBoxCobertura_Populating(object sender, PopulatingEventArgs e) { e.set_Cancel(true); this.ViewModel.FiltrarCobertura(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 AutoCompleteBoxRamo_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() { this.RamoGrid.SelectedIndex = 0; this.RamoGrid.SelectionChanged += new SelectionChangedEventHandler(this.RamoGrid_OnSelectionChanged); this.RamoGrid.MouseDoubleClick += new MouseButtonEventHandler((object sender, MouseButtonEventArgs args) => { }); this.CoberturaGrid.MouseDoubleClick += new MouseButtonEventHandler((object sender, MouseButtonEventArgs args) => { }); } private async void Impostos_OnClick(object sender, RoutedEventArgs e) { List configuracoes = Recursos.Configuracoes; if (configuracoes.All((ConfiguracaoSistema x) => x.get_Configuracao() != 5)) { await this.ViewModel.ShowMessage("RECURSO NÃO HABILITADO, ACESSE AS CONFIGURAÇÕES DENTRO DO CADASTRO DE EMPRESAS E FILIAIS PARA HABILITAR O RECURSO.", "OK", "", false); } else if (await this.ViewModel.VerificarPermissao(56, false)) { this.ViewModel.ShowDrawer(new ImpostoDrawer(1, this.ViewModel.SelectedRamo.get_Id()), 0, false); } } private void Incluir_OnClick(object sender, RoutedEventArgs e) { IncluirRamoView incluirRamoView = new IncluirRamoView(this.ViewModel.Ramos); (new HosterWindow(incluirRamoView, "INCLUIR RAMO", new double?((double)500), new double?((double)600), false)).ShowDialog(); if (incluirRamoView.ViewModel.AdicionarRamo != null) { this.ViewModel.Incluir(incluirRamoView.ViewModel.AdicionarRamo); } } [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/ramoview.xaml", UriKind.Relative)); } private void RamoGrid_OnSelectionChanged(object sender, SelectionChangedEventArgs e) { DataGrid dataGrid = (DataGrid)sender; if (dataGrid != null && dataGrid.SelectedIndex < 0) { return; } this.ViewModel.SelecionaRamo((Ramo)((dataGrid != null ? dataGrid.Items[dataGrid.SelectedIndex] : null))); } private async void Salvar_OnClick(object sender, RoutedEventArgs e) { bool flag; this.ViewModel.Loading(true); 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, RamoView.AutoCompleteBoxRamo_Populating)); ((AutoCompleteBox)target).add_TextChanged(new RoutedEventHandler(this.AutoCompleteBox_OnTextChanged)); return; } case 2: { this.RamoGrid = (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: { this.MaisOpcoesButton = (MenuItem)target; return; } case 8: { ((MenuItem)target).Click += new RoutedEventHandler(this.AbrirLog_OnClick); return; } case 9: { ((MenuItem)target).Click += new RoutedEventHandler(this.Impostos_OnClick); return; } case 10: { this.ApoliceBox = (TextBox)target; return; } case 11: { this.IofBox = (CurrencyTextBox)target; return; } case 12: { ((AutoCompleteBox)target).add_Populating(new PopulatingEventHandler(this, RamoView.AutoCompleteBoxCobertura_Populating)); ((AutoCompleteBox)target).add_TextChanged(new RoutedEventHandler(this.AutoCompleteBoxCobertura_OnTextChanged)); return; } case 13: { this.CoberturaGrid = (DataGrid)target; return; } } this._contentLoaded = true; } } }