using Gestor.Application.Actions; using Gestor.Application.Drawers; using Gestor.Application.Helpers; using Gestor.Application.Servicos; using Gestor.Application.Servicos.Seguros; using Gestor.Application.ViewModels; using Gestor.Application.ViewModels.Generic; using Gestor.Application.ViewModels.Seguros; using Gestor.Application.Views.Ferramentas; using Gestor.Application.Views.Generic; using Gestor.Common.Validation; using Gestor.Model.Common; using Gestor.Model.Domain.Common; using Gestor.Model.Domain.Configuracoes; using Gestor.Model.Domain.Ferramentas; using Gestor.Model.Domain.Generic; using Gestor.Model.Domain.MalaDireta; using Gestor.Model.Domain.Relatorios.ClientesAtivosInativos; using Gestor.Model.Domain.Seguros; using MaterialDesignThemes.Wpf; using System; using System.CodeDom.Compiler; using System.Collections.Generic; using System.Collections.ObjectModel; 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.Media; using System.Windows.Threading; namespace Gestor.Application.Views.Seguros { public class ConsultaOriginalView : BaseUserControl, IComponentConnector, IStyleConnector { public ConsultaViewModel ViewModel; private bool _carregarDocumetos = true; internal RadioButton ApoliceRadioButton; internal RadioButton EndossoRadioButton; internal MenuItem AcessarDocumentoMenuItem; internal DataGrid ApoliceGrid; internal DataGridTextColumn NomeField; internal DataGridTextColumn ApelidoField; internal DataGridTextColumn ApolicesComissaoColumn; internal DataGrid EndossoGrid; internal DataGridTextColumn EndossosComissaoColumn; internal WrapPanel Comissao; internal DataGrid ParcelaGrid; internal DataGridTextColumn ParcelasTotalColumn; internal DataGridTextColumn ParcelasRealizadoColumn; internal DataGridTextColumn ParcelasComissaoColumn; internal DataGridTextColumn ParcelasReciboColumn; internal DataGridTextColumn ParcelasValorComissaoDescColumn; internal DataGridTemplateColumn MaisInformacoesColumn; internal RadioButton AtivosRadioButton; internal RadioButton ApoliceItensRadioButton; internal RadioButton EndossoItensRadioButton; internal RadioButton InativosRadioButton; internal DataGrid ItemGrid; private bool _contentLoaded; private Documento _documentoAssistencia { get; set; } private string _linkAssistencia { get; set; } public ConsultaOriginalView(ConsultaViewModel viewModel) { base.Tag = "CONSULTA DE DOCUMENTOS"; this.ViewModel = viewModel ?? new ConsultaViewModel(); base.DataContext = this.ViewModel; this.InitializeComponent(); Gestor.Application.Actions.Actions.UpdateRadioApolice = (Action)Delegate.Combine(Gestor.Application.Actions.Actions.UpdateRadioApolice, new Action(this.SelecionarRadios)); Gestor.Application.Actions.Actions.ScrollDocumento = (Action)Delegate.Combine(Gestor.Application.Actions.Actions.ScrollDocumento, new Action(this.ScrollDocumento)); Gestor.Application.Actions.Actions.ScrollToItem = new Action(this.ScrollToItem); Gestor.Application.Actions.Actions.ScrollToItem = (Action)Delegate.Combine(Gestor.Application.Actions.Actions.ScrollToItem, new Action(this.ScrollToItem)); this.ItemGrid.DataContext = this.ViewModel; System.Windows.Threading.Dispatcher dispatcher = base.Dispatcher; if (dispatcher == null) { return; } dispatcher.BeginInvoke(DispatcherPriority.Render, new Action(this.ContentLoad)); } private async void AbrirAquivoDigital_Click(object sender, RoutedEventArgs e) { FiltroArquivoDigital filtroArquivoDigital = null; ConsultaViewModel.DocumentoSelecionado.get_Controle().set_Cliente(this.ViewModel.SelectedCliente); string name = ((Button)sender).Name; if (name == "Apolice") { if ((new PermissaoArquivoDigitalServico()).BuscarPermissao(Recursos.Usuario, 2).get_Consultar()) { this.ViewModel.SelectedControle.get_Controle().set_Cliente(this.ViewModel.SelectedCliente); FiltroArquivoDigital filtroArquivoDigital1 = new FiltroArquivoDigital(); filtroArquivoDigital1.set_Id(this.ViewModel.SelectedControle.get_Id()); filtroArquivoDigital1.set_Tipo(2); filtroArquivoDigital1.set_Parente(this.ViewModel.SelectedControle); filtroArquivoDigital = filtroArquivoDigital1; } else { await this.ViewModel.ShowMessage(string.Concat("VOCÊ NÃO POSSUI PERMISSÃO PARA ACESSAR\nARQUIVO DIGITAL DE ", ValidationHelper.GetDescription((TipoArquivoDigital)2), "."), "OK", "", false); return; } } else if (name == "Endosso") { if ((new PermissaoArquivoDigitalServico()).BuscarPermissao(Recursos.Usuario, 2).get_Consultar()) { this.ViewModel.SelectedEndosso.get_Controle().set_Cliente(this.ViewModel.SelectedCliente); FiltroArquivoDigital filtroArquivoDigital2 = new FiltroArquivoDigital(); filtroArquivoDigital2.set_Id(this.ViewModel.SelectedEndosso.get_Id()); filtroArquivoDigital2.set_Tipo(2); filtroArquivoDigital2.set_Parente(this.ViewModel.SelectedEndosso); filtroArquivoDigital = filtroArquivoDigital2; } else { await this.ViewModel.ShowMessage(string.Concat("VOCÊ NÃO POSSUI PERMISSÃO PARA ACESSAR\nARQUIVO DIGITAL DE ", ValidationHelper.GetDescription((TipoArquivoDigital)2), "."), "OK", "", false); return; } } else if (name != "Parcela") { if (name == "Item") { if ((new PermissaoArquivoDigitalServico()).BuscarPermissao(Recursos.Usuario, 4).get_Consultar()) { this.ViewModel.SelectedItem.set_Documento(ConsultaViewModel.DocumentoSelecionado); FiltroArquivoDigital filtroArquivoDigital3 = new FiltroArquivoDigital(); filtroArquivoDigital3.set_Id(this.ViewModel.SelectedItem.get_Id()); filtroArquivoDigital3.set_IdApolice(this.ViewModel.SelectedItem.get_Documento().get_Id()); filtroArquivoDigital3.set_Tipo(4); filtroArquivoDigital3.set_Parente(this.ViewModel.SelectedItem); filtroArquivoDigital = filtroArquivoDigital3; } else { await this.ViewModel.ShowMessage(string.Concat("VOCÊ NÃO POSSUI PERMISSÃO PARA ACESSAR\nARQUIVO DIGITAL DE ", ValidationHelper.GetDescription((TipoArquivoDigital)4), "."), "OK", "", false); return; } } } else if ((new PermissaoArquivoDigitalServico()).BuscarPermissao(Recursos.Usuario, 3).get_Consultar()) { this.ViewModel.SelectedParcela.set_Documento(ConsultaViewModel.DocumentoSelecionado); FiltroArquivoDigital filtroArquivoDigital4 = new FiltroArquivoDigital(); filtroArquivoDigital4.set_Id(this.ViewModel.SelectedParcela.get_Id()); filtroArquivoDigital4.set_IdApolice(this.ViewModel.SelectedParcela.get_Documento().get_Id()); filtroArquivoDigital4.set_Tipo(3); filtroArquivoDigital4.set_Parente(this.ViewModel.SelectedParcela); filtroArquivoDigital = filtroArquivoDigital4; } else { await this.ViewModel.ShowMessage(string.Concat("VOCÊ NÃO POSSUI PERMISSÃO PARA ACESSAR\nARQUIVO DIGITAL DE ", ValidationHelper.GetDescription((TipoArquivoDigital)3), "."), "OK", "", false); return; } this.ViewModel.ShowDrawer(new ArquivoDigitalDrawer(filtroArquivoDigital), 0, false); } private async Task AbrirProspeccao(Prospeccao data) { do { Label1: if (await this.ViewModel.ShowProspeccaoDialog(data) != null) { List> keyValuePairs = await this.ViewModel.SalvarProspeccao(data); if (keyValuePairs == null || keyValuePairs.Count == 0) { this.ViewModel.ToggleSnackBar("PROSPECÇÃO SALVA COM SUCESSO.", true); return; } else { await this.ViewModel.ShowMessage(keyValuePairs, this.ViewModel.ErroCamposInvalidos, "OK", ""); goto Label1; } } else { } } while (!await this.ViewModel.ShowMessage("DESEJA REALMENTE NÃO CADASTRAR UMA PROSPECÇÃO PARA ESSE DOCUMENTO?", "SIM", "NÃO", false)); } private void AjustaItem() { this.AtivosRadioButton.IsChecked = new bool?(this.ViewModel.FilterItens == 0); this.ApoliceItensRadioButton.IsChecked = new bool?(this.ViewModel.FilterItens == 1); this.EndossoItensRadioButton.IsChecked = new bool?(this.ViewModel.FilterItens == 2); this.InativosRadioButton.IsChecked = new bool?(this.ViewModel.FilterItens == 3); } private async void ApoliceGrid_OnMouseDoubleClick(object sender, MouseButtonEventArgs e) { object obj; long? nullable; object obj1; DataGridRow dataGridRow = (DataGridRow)sender; if (dataGridRow != null) { if (dataGridRow.DataContext.GetType() == typeof(Documento)) { this.AtivosRadioButton.IsChecked = new bool?(true); obj = (dataGridRow != null ? dataGridRow.Item : null); Documento documento = (Documento)obj; if (documento != null) { nullable = new long?(documento.get_Id()); } else { nullable = null; } long? nullable1 = nullable; long id = this.ViewModel.SelectedControle.get_Id(); if (nullable1.GetValueOrDefault() != id | !nullable1.HasValue) { ConsultaViewModel viewModel = this.ViewModel; obj1 = (dataGridRow != null ? dataGridRow.Item : null); await viewModel.SelecionaDocumento(0, (Documento)obj1); } Action acessaTela = Gestor.Application.Actions.Actions.AcessaTela; if (acessaTela != null) { acessaTela(2, ""); } else { } } } } private async void ApoliceGrid_OnSelectionChanged(object sender, SelectionChangedEventArgs e) { object obj; DataGrid dataGrid = (DataGrid)sender; if (dataGrid == null || dataGrid.SelectedIndex >= 0) { ConsultaViewModel viewModel = this.ViewModel; obj = (dataGrid != null ? dataGrid.Items[dataGrid.SelectedIndex] : null); await viewModel.SelecionaDocumento(0, (Documento)obj); this.VisibilityValorPago(); } } private void ApoliceView_Click(object sender, RoutedEventArgs e) { Action acessaTela = Gestor.Application.Actions.Actions.AcessaTela; if (acessaTela == null) { return; } acessaTela(2, ""); } private void ClienteView_Click(object sender, RoutedEventArgs e) { Action acessaTela = Gestor.Application.Actions.Actions.AcessaTela; if (acessaTela == null) { return; } acessaTela(1, ""); } private void ContentLoad() { if (ConsultaViewModel.DocumentoSelecionado != null && ConsultaViewModel.DocumentoSelecionado.get_Tipo() != 0) { this.ViewModel.FilterDocumento = 1; } this.NomeField.Visibility = (this.ViewModel.Apelido ? System.Windows.Visibility.Collapsed : System.Windows.Visibility.Visible); this.ApelidoField.Visibility = (!this.ViewModel.Apelido ? System.Windows.Visibility.Collapsed : System.Windows.Visibility.Visible); this.ApoliceRadioButton.IsChecked = new bool?(this.ViewModel.FilterDocumento == 0); this.EndossoRadioButton.IsChecked = new bool?(this.ViewModel.FilterDocumento == 1); this.AjustaItem(); this.ApoliceGrid.SelectionChanged += new SelectionChangedEventHandler(this.ApoliceGrid_OnSelectionChanged); this.ParcelaGrid.MouseDoubleClick += new MouseButtonEventHandler(ConsultaOriginalView.ParcelaGrid_OnMouseDoubleClick); this.EndossoGrid.SelectionChanged += new SelectionChangedEventHandler(this.EndossoGrid_OnSelectionChanged); this.EndossoGrid.MouseDoubleClick += new MouseButtonEventHandler(this.EndossoGrid_OnMouseDoubleClick); this.AtivosRadioButton.Checked += new RoutedEventHandler(this.Documento_OnChecked); this.ApoliceItensRadioButton.Checked += new RoutedEventHandler(this.Documento_OnChecked); this.EndossoItensRadioButton.Checked += new RoutedEventHandler(this.Documento_OnChecked); this.InativosRadioButton.Checked += new RoutedEventHandler(this.Documento_OnChecked); this.ApoliceRadioButton.Checked += new RoutedEventHandler(this.Documento_OnChecked); this.EndossoRadioButton.Checked += new RoutedEventHandler(this.Documento_OnChecked); this.ItemGrid.SelectionChanged += new SelectionChangedEventHandler(this.ItemGrid_OnSelectionChanged); this.ItemGrid.MouseDoubleClick += new MouseButtonEventHandler(this.ItemGrid_OnMouseDoubleClick); System.Windows.Visibility visibility = (this.ViewModel.Restricao(14) ? System.Windows.Visibility.Collapsed : System.Windows.Visibility.Visible); this.ViewModel.ComissaoValorVisibility = (this.ViewModel.Restricao(14) ? System.Windows.Visibility.Collapsed : System.Windows.Visibility.Visible); bool flag = this.ViewModel.Restricao(95); this.ApolicesComissaoColumn.Visibility = (flag ? System.Windows.Visibility.Visible : visibility); this.EndossosComissaoColumn.Visibility = (flag ? System.Windows.Visibility.Visible : visibility); this.Comissao.Visibility = visibility; bool flag1 = Recursos.Configuracoes.Any((ConfiguracaoSistema x) => x.get_Configuracao() == 5); this.ParcelasRealizadoColumn.Visibility = visibility; this.ParcelasComissaoColumn.Visibility = (flag ? System.Windows.Visibility.Visible : visibility); this.ParcelasReciboColumn.Visibility = (flag1 ? System.Windows.Visibility.Collapsed : visibility); this.ParcelasValorComissaoDescColumn.Visibility = (flag1 ? visibility : System.Windows.Visibility.Collapsed); this.MaisInformacoesColumn.Visibility = visibility; } private async void Documento_OnChecked(object sender, RoutedEventArgs e) { object obj; object obj1; MenuItem acessarDocumentoMenuItem = this.AcessarDocumentoMenuItem; obj = (this.ViewModel.FilterDocumento == 0 ? "ACESSAR APÓLICE" : "ACESSAR ENDOSSO"); acessarDocumentoMenuItem.Header = obj; MenuItem menuItem = this.AcessarDocumentoMenuItem; obj1 = (this.ViewModel.FilterDocumento == 0 ? "CLIQUE PARA ACESSAR A TELA DA APÓLICE" : "CLIQUE PARA ACESSAR A TELA DE ENDOSSO"); menuItem.ToolTip = obj1; RadioButton radioButton = (RadioButton)sender; if (!string.IsNullOrEmpty(radioButton.GroupName)) { string groupName = radioButton.GroupName; if (groupName != "Apolices") { if (groupName == "Itens") { string name = radioButton.Name; if (name == "ApoliceItensRadioButton") { await this.ViewModel.SelecionaItens(1, null, (long)0, false); } else if (name == "EndossoItensRadioButton") { await this.ViewModel.SelecionaItens(2, null, (long)0, false); } else if (name == "InativosRadioButton") { await this.ViewModel.SelecionaItens(3, null, (long)0, false); } else { await this.ViewModel.SelecionaItens(0, null, (long)0, false); } } } else if (!this._carregarDocumetos) { return; } else if (radioButton.Name == "EndossoRadioButton") { this.AcessarDocumentoMenuItem.Header = "ACESSAR ENDOSSO"; this.AcessarDocumentoMenuItem.ToolTip = "CLIQUE PARA ACESSAR A TELA DE ENDOSSO"; this.ViewModel.CarregaDocumentos(1); if (this.EndossoGrid.SelectedItem == null && this.EndossoGrid.Items.Count > 0) { this.EndossoGrid.SelectedItem = this.EndossoGrid.Items[0]; } if (this.EndossoGrid.SelectedItem != null) { await this.ViewModel.SelecionaDocumento(1, (Documento)this.EndossoGrid.SelectedItem); } } else { this.AcessarDocumentoMenuItem.Header = "ACESSAR APÓLICE"; this.AcessarDocumentoMenuItem.ToolTip = "CLIQUE PARA ACESSAR A TELA DA APÓLICE"; this.ViewModel.CarregaDocumentos(0); if (this.ApoliceGrid.SelectedItem == null && this.ApoliceGrid.Items.Count > 0) { this.ApoliceGrid.SelectedItem = this.ApoliceGrid.Items[0]; } if (this.ApoliceGrid.SelectedItem != null) { await this.ViewModel.SelecionaDocumento(0, (Documento)this.ApoliceGrid.SelectedItem); } } } } private async void EditarParcelas_OnClick(object sender, RoutedEventArgs e) { await this.ViewModel.EditarParcelas(); } private async void Endossar_OnClick(object sender, RoutedEventArgs e) { if (this.ViewModel.Restricao(33)) { await this.ViewModel.ShowMessage("VOCÊ NÃO POSSUI PERMISSÃO PARA ENDOSSAR. PROCURE O ADMINSTRADOR DO SISTEMA.", "OK", "", false); } else if (!this.ViewModel.EnableEndossar) { List> keyValuePairs = this.ViewModel.SelectedControle.ValidateEndossar(); await this.ViewModel.ShowMessage(keyValuePairs, this.ViewModel.ErroCamposInvalidos, "OK", ""); } else if (ConsultaViewModel.DocumentoSelecionado.get_Situacao() != 7) { Action acessaTela = Gestor.Application.Actions.Actions.AcessaTela; if (acessaTela != null) { acessaTela(2, "Endossar"); } else { } } else { await this.ViewModel.ShowMessage("NÃO É POSSÍVEL ENDOSSAR UM DOCUMENTO RECUSADO.", "OK", "", false); } } private async void EndossoGrid_OnMouseDoubleClick(object sender, MouseButtonEventArgs e) { object obj; DataGrid dataGrid = (DataGrid)sender; if (dataGrid == null || dataGrid.SelectedIndex >= 0) { this.AtivosRadioButton.IsChecked = new bool?(true); ConsultaViewModel viewModel = this.ViewModel; obj = (dataGrid != null ? dataGrid.Items[dataGrid.SelectedIndex] : null); await viewModel.SelecionaDocumento(1, (Documento)obj); Action acessaTela = Gestor.Application.Actions.Actions.AcessaTela; if (acessaTela != null) { acessaTela(2, ""); } else { } } } private async void EndossoGrid_OnSelectionChanged(object sender, SelectionChangedEventArgs e) { object obj; DataGrid dataGrid = (DataGrid)sender; if (dataGrid == null || dataGrid.SelectedIndex >= 0) { ConsultaViewModel viewModel = this.ViewModel; obj = (dataGrid != null ? dataGrid.Items[dataGrid.SelectedIndex] : null); await viewModel.SelecionaDocumento(1, (Documento)obj); this.VisibilityValorPago(); } } private void EnviarPorEmail_OnClick(object sender, RoutedEventArgs e) { if (this._documentoAssistencia == null) { return; } MalaDireta malaDiretum = new MalaDireta(); malaDiretum.set_Cliente(this.ViewModel.SelectedCliente); malaDiretum.set_Apolice(this._documentoAssistencia); MalaDireta malaDiretum1 = malaDiretum; if (Funcoes.IsWindowOpen("ENVIO DE E-MAIL")) { Funcoes.Destroy("ENVIO DE E-MAIL"); } (new HosterWindow(new MalaDiretaView(new List() { malaDiretum1 }, string.Concat("CARTÃO ASSISTÊNCIA 24 HORAS - ", malaDiretum1.get_Cliente().get_Nome(), " ", malaDiretum1.get_Apolice().get_Apolice()), string.Concat(new string[] { "

Prezado(a) ", ValidationHelper.Captalize(this.ViewModel.SelectedCliente.get_Nome()), ", segue o link do seu Cartão Assistência 24 horas.

LINK CARTÃO ASSITÊNCIA

" }), null), "ENVIO DE E-MAIL", new double?((double)1200), new double?((double)600), true)).ShowDialog(); } private async void EnviarPorWhatsApp_OnClick(object sender, RoutedEventArgs e) { string str; if (!this.ViewModel.Restricao(32)) { Button button = (Button)sender; if (button.DataContext != null) { ClienteTelefone dataContext = button.DataContext as ClienteTelefone; if (dataContext != null) { str = (!dataContext.get_Tipo().HasValue || dataContext.get_Tipo().GetValueOrDefault() != 8 ? string.Concat("55", dataContext.get_Prefixo(), dataContext.get_Numero().Clear()) : string.Concat(dataContext.get_Prefixo(), dataContext.get_Numero()).Clear()); if (!str.EnviarWhatsapp(this.ViewModel.Anotacoes)) { await this.ViewModel.ShowMessage("HOUVE UM PROBLEMA AO ABRIR LINK DO WHATSAPP, O LINK FOI COPIADO EM SUA MAQUINA, BASTA ABRIR O NAVEGADOR DE INTERNET E COLAR NA BARRA DE ENDEREÇOS", "OK", "", false); } return; } } } else { await this.ViewModel.ShowMessage("VOCÊ NÃO POSSUI PERMISSÃO PARA ACESSAR O WHATSAPP", "OK", "", false); } } private async void ExpedicaoInfo_OnClick(object sender, RoutedEventArgs e) { if (await this.ViewModel.VerificarPermissao(46, false)) { if (ConsultaViewModel.DocumentoSelecionado != null) { this.ViewModel.ShowDrawer(new ExpedicaoDrawer(ConsultaViewModel.DocumentoSelecionado), 0, false); } else { await this.ViewModel.ShowMessage("NECESSÁRIO SELECIONAR UM DOCUMENTO PARA EXIBIR AS INFORMAÇÕES DE EXPEDIÇÃO.", "OK", "", false); } } } private async void Extratos_OnClick(object sender, RoutedEventArgs e) { Relatorio? nullable; if (await this.ViewModel.VerificarRestricao(13, false, true) && this.ViewModel.SelectedCliente.get_Id() != 0) { this.ViewModel.Loading(true); if (this.ViewModel.SelectedControle != null) { int filterDocumento = this.ViewModel.FilterDocumento; if (filterDocumento != 0) { if (filterDocumento == 1) { if (this.ViewModel.SelectedEndosso != null) { ConsultaViewModel viewModel = this.ViewModel; List documentos = new List() { this.ViewModel.SelectedEndosso }; nullable = null; List nums = new List() { this.ViewModel.SelectedEndosso.get_Id() }; viewModel.ShowDrawer(new ExtratosDrawer(null, documentos, nullable, nums, null, null), 0, false); } } } else if (this.ViewModel.SelectedControle != null) { ConsultaViewModel consultaViewModel = this.ViewModel; List documentos1 = new List() { this.ViewModel.SelectedControle }; nullable = null; List nums1 = new List() { this.ViewModel.SelectedControle.get_Id() }; consultaViewModel.ShowDrawer(new ExtratosDrawer(null, documentos1, nullable, nums1, null, null), 0, false); } this.ViewModel.Loading(false); } else { ConsultaViewModel viewModel1 = this.ViewModel; List clientesAtivosInativos = new List(); ClientesAtivosInativos clientesAtivosInativo = new ClientesAtivosInativos(); clientesAtivosInativo.set_Selecionado(true); clientesAtivosInativo.set_EntidadeCliente(this.ViewModel.SelectedCliente); clientesAtivosInativo.set_Id(this.ViewModel.SelectedCliente.get_Id()); clientesAtivosInativo.set_Nome(this.ViewModel.SelectedCliente.get_Nome()); clientesAtivosInativo.set_Documento(this.ViewModel.SelectedCliente.get_Documento()); clientesAtivosInativos.Add(clientesAtivosInativo); viewModel1.ShowDrawer(new ExtratosDrawer(clientesAtivosInativos, null, new Relatorio?(0), null, null, null), 0, false); this.ViewModel.Loading(false); } } } public Visual GetDescendantByType(Visual element, Type type) { if (element == null) { return null; } if (element.GetType() == type) { return element; } Visual descendantByType = null; FrameworkElement frameworkElement = element as FrameworkElement; if (frameworkElement != null) { frameworkElement.ApplyTemplate(); } for (int i = 0; i < VisualTreeHelper.GetChildrenCount(element); i++) { Visual child = VisualTreeHelper.GetChild(element, i) as Visual; descendantByType = this.GetDescendantByType(child, type); if (descendantByType != null) { break; } } return descendantByType; } [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/seguros/consultaoriginalview.xaml", UriKind.Relative)); } private void Item_Click(object sender, RoutedEventArgs e) { Action acessaTela = Gestor.Application.Actions.Actions.AcessaTela; if (acessaTela == null) { return; } acessaTela(3, ""); } private void ItemGrid_OnMouseDoubleClick(object sender, MouseButtonEventArgs e) { DataGrid dataGrid = (DataGrid)sender; if (dataGrid != null && dataGrid.SelectedIndex < 0) { return; } this.ViewModel.SelecionaItem((Item)((dataGrid != null ? dataGrid.Items[dataGrid.SelectedIndex] : null))); Action acessaTela = Gestor.Application.Actions.Actions.AcessaTela; if (acessaTela == null) { return; } acessaTela(3, ""); } private void ItemGrid_OnSelectionChanged(object sender, SelectionChangedEventArgs e) { DataGrid dataGrid = (DataGrid)sender; if (dataGrid != null && dataGrid.SelectedIndex < 0) { return; } Item selectedItem = (Item)dataGrid.SelectedItem; if (!selectedItem.get_Cancelado() && !selectedItem.get_Substituido().HasValue && selectedItem.get_Status() != null) { this.AjustaItem(); } this.ViewModel.SelecionaItem((Item)((dataGrid != null ? dataGrid.Items[dataGrid.SelectedIndex] : null))); } private async void ManutecaoItens_OnClick(object sender, RoutedEventArgs e) { if ((this.ViewModel.FilterDocumento != 0 || this.ViewModel.SelectedControle.get_Situacao() != 7) && (this.ViewModel.FilterDocumento != 1 || this.ViewModel.SelectedEndosso.get_Situacao() != 7)) { this.ViewModel.ManutecaoItens(); } else { await this.ViewModel.ShowMessage("NÃO É POSSÍVEL FAZER A MANUTENÇÃO DE ITENS DE UM DOCUMENTO RECUSADO.", "OK", "", false); } } private void MenuItem_OnClick(object sender, RoutedEventArgs e) { Tarefa tarefa = new Tarefa(); tarefa.set_IdCliente(this.ViewModel.SelectedCliente.get_Id()); tarefa.set_Cliente(this.ViewModel.SelectedCliente.get_Nome()); tarefa.set_Entidade(0); tarefa.set_IdEntidade(this.ViewModel.SelectedControle.get_Id()); tarefa.set_Titulo(string.Concat(this.ViewModel.SelectedCliente.get_Nome(), " APÓLICE ", this.ViewModel.SelectedControle.get_Apolice())); this.ViewModel.ShowDrawer(new TarefaDrawer(tarefa, true), 0, false); } private async void MostrarItens_Click(object sender, RoutedEventArgs e) { bool valueOrDefault; bool flag; int num = 0; if (!this.ApoliceRadioButton.IsFocused) { RadioButton apoliceItensRadioButton = this.ApoliceItensRadioButton; if (apoliceItensRadioButton != null) { flag = apoliceItensRadioButton.IsChecked.GetValueOrDefault(); } else { flag = false; } if (!flag) { goto Label0; } } num = 1; Label0: if (!this.EndossoRadioButton.IsFocused) { RadioButton endossoItensRadioButton = this.EndossoItensRadioButton; if (endossoItensRadioButton != null) { valueOrDefault = endossoItensRadioButton.IsChecked.GetValueOrDefault(); } else { valueOrDefault = false; } if (!valueOrDefault) { if (this.InativosRadioButton.IsFocused) { num = 3; } await this.ViewModel.MostrarItens(num); return; } } num = 2; if (this.InativosRadioButton.IsFocused) { num = 3; } await this.ViewModel.MostrarItens(num); } private void Observacoes_OnClick(object sender, RoutedEventArgs e) { long id = (long)0; TipoTela tipoTela = 0; string name = ((Button)sender).Name; if (name == "ObservacaoApolice") { id = this.ViewModel.SelectedControle.get_Id(); tipoTela = 2; } else if (name == "EndossoInfo") { id = this.ViewModel.SelectedEndosso.get_Id(); tipoTela = 2; } else if (name == "ObservacaoParcela") { id = this.ViewModel.SelectedParcela.get_Id(); tipoTela = 5; } this.ViewModel.ShowDrawer(new ObservacoesDrawer(id, tipoTela), 0, true); } private void Parcela_Click(object sender, RoutedEventArgs e) { Action acessaTela = Gestor.Application.Actions.Actions.AcessaTela; if (acessaTela == null) { return; } acessaTela(2, "Parcela"); } private static void ParcelaGrid_OnMouseDoubleClick(object sender, MouseButtonEventArgs e) { DataGrid dataGrid = (DataGrid)sender; if (dataGrid != null && dataGrid.SelectedIndex < 0) { return; } ConsultaViewModel.ParcelaSelecionada = (Parcela)((dataGrid != null ? dataGrid.Items[dataGrid.SelectedIndex] : null)); Action acessaTela = Gestor.Application.Actions.Actions.AcessaTela; if (acessaTela == null) { return; } acessaTela(2, "Parcela"); } private async void Perdido_OnClick(object sender, RoutedEventArgs e) { object prefixo; object numero; string str; string numero1; object email; DateTime dateTime; string descricao; object selectedItem; bool count; Cliente cliente; if (ConsultaViewModel.DocumentoSelecionado.get_Situacao() == 7) { await this.ViewModel.ShowMessage("NÃO É POSSÍVEL ALTERAR O STATUS PARA PERDIDO DE UM DOCUMENTO RECUSADO.", "OK", "", false); } else if (await this.ViewModel.ShowMessage("DESEJA REALMENTE ALTERAR O STATUS DO SEGURO PARA PERDIDO?", "SIM", "NÃO", false)) { this.ViewModel.Loading(true); cliente = await (new ClienteServico()).BuscarCliente(this.ViewModel.SelectedControle.get_Controle().get_Cliente().get_Id()); Cliente cliente1 = cliente; ObservableCollection observableCollection = await (new ClienteServico()).BuscarTelefonesAsync(this.ViewModel.SelectedControle.get_Controle().get_Cliente().get_Id()); cliente1.set_Telefones(observableCollection); cliente1 = null; cliente1 = cliente; ObservableCollection observableCollection1 = await (new ClienteServico()).BuscarEmailsAsync(this.ViewModel.SelectedControle.get_Controle().get_Cliente().get_Id()); cliente1.set_Emails(observableCollection1); cliente1 = null; if (await (new ApoliceServico()).Perdido(this.ViewModel.SelectedControle.get_Controle().get_Id())) { Prospeccao prospeccao = new Prospeccao(); prospeccao.set_Nome(cliente.get_Nome()); prospeccao.set_Documento(cliente.get_Documento()); prospeccao.set_Nascimento(cliente.get_Nascimento()); ObservableCollection telefones = cliente.get_Telefones(); if (telefones != null) { ClienteTelefone clienteTelefone = telefones.FirstOrDefault(); if (clienteTelefone != null) { prefixo = clienteTelefone.get_Prefixo(); } else { prefixo = null; } } else { prefixo = null; } if (prefixo == null) { prefixo = ""; } prospeccao.set_Prefixo1((string)prefixo); ObservableCollection telefones1 = cliente.get_Telefones(); if (telefones1 != null) { ClienteTelefone clienteTelefone1 = telefones1.FirstOrDefault(); if (clienteTelefone1 != null) { numero = clienteTelefone1.get_Numero(); } else { numero = null; } } else { numero = null; } if (numero == null) { numero = ""; } prospeccao.set_Telefone1((string)numero); str = (cliente.get_Telefones() == null || cliente.get_Telefones().Count <= 1 ? "" : cliente.get_Telefones()[1].get_Prefixo()); prospeccao.set_Prefixo2(str); if (cliente.get_Telefones() != null) { ObservableCollection telefones2 = cliente.get_Telefones(); if (telefones2 != null) { count = telefones2.Count > 1; } else { count = false; } if (!count) { goto Label1; } numero1 = cliente.get_Telefones()[1].get_Numero(); goto Label0; } Label1: numero1 = ""; Label0: prospeccao.set_Telefone2(numero1); ObservableCollection emails = cliente.get_Emails(); if (emails != null) { ClienteEmail clienteEmail = emails.FirstOrDefault(); if (clienteEmail != null) { email = clienteEmail.get_Email(); } else { email = null; } } else { email = null; } if (email == null) { email = ""; } prospeccao.set_Email((string)email); DateTime? vigencia2 = this.ViewModel.SelectedControle.get_Vigencia2(); dateTime = (vigencia2.HasValue ? vigencia2.GetValueOrDefault() : Funcoes.GetNetworkTime().Date); prospeccao.set_VigenciaFinal(new DateTime?(dateTime.AddYears(1))); prospeccao.set_Vendedor(this.ViewModel.SelectedControle.get_VendedorPrincipal()); Item item = this.ViewModel.Itens.FirstOrDefault(); if (item != null) { descricao = item.get_Descricao(); } else { descricao = null; } prospeccao.set_Item(descricao); prospeccao.set_Tipo("SEGURO PERDIDO"); prospeccao.set_Observacao(string.Concat("SEGURO PERDIDO: PROPOSTA: ", this.ViewModel.SelectedControle.get_Proposta(), ", APÓLICE: ", this.ViewModel.SelectedControle.get_Apolice())); prospeccao.set_Status(new StatusProspeccao?(1)); prospeccao.set_Renovacao(true); await this.AbrirProspeccao(prospeccao); this.ViewModel.CarregaDocumentos(0); await this.ViewModel.SelecionaCliente(this.ViewModel.SelectedCliente, true); this.ApoliceItensRadioButton.IsChecked = new bool?(true); if (this.ApoliceGrid != null && this.ApoliceGrid.Items.Count > 0 && this.ApoliceGrid.SelectedItem == null) { this.ApoliceGrid.SelectedItem = this.ApoliceGrid.Items[0]; ConsultaViewModel viewModel = this.ViewModel; DataGrid apoliceGrid = this.ApoliceGrid; if (apoliceGrid != null) { selectedItem = apoliceGrid.SelectedItem; } else { selectedItem = null; } await viewModel.SelecionaDocumento(0, (Documento)selectedItem); } this.ViewModel.Loading(false); } else { this.ViewModel.Loading(false); } } cliente = null; } public async void Pesquisar(PesquisaAvancada pesquisa) { await this.ViewModel.Pesquisar(pesquisa); if (this.ViewModel.SelectedControle != null) { this.ScrollToIndex(this.ApoliceGrid, this.ApoliceGrid.SelectedIndex); } if (this.ViewModel.SelectedEndosso != null) { this.ScrollToIndex(this.EndossoGrid, this.EndossoGrid.SelectedIndex); } if (this.ViewModel.SelectedItem != null) { this.ScrollToIndex(this.ItemGrid, this.ItemGrid.SelectedIndex); } if (this.ViewModel.SelectedParcela != null) { this.ScrollToIndex(this.ParcelaGrid, this.ParcelaGrid.SelectedIndex); } } private void PopupBox_OnClosed(object sender, RoutedEventArgs e) { this._documentoAssistencia = null; this.ViewModel.Anotacoes = ""; this._linkAssistencia = ""; } private async void PopupBox_OnOpened(object sender, RoutedEventArgs e) { this._documentoAssistencia = (Documento)((PopupBox)sender).DataContext; this._linkAssistencia = await this.ViewModel.CreateLink(this._documentoAssistencia); if (!string.IsNullOrEmpty(this._linkAssistencia)) { string[] strArrays = new string[] { "Prezado(a) ", ValidationHelper.Captalize(this.ViewModel.SelectedCliente.get_Nome()), ", segue o link do seu Cartão Assistência 24 horas.", Environment.NewLine, Environment.NewLine, "LINK CARTÃO ASSISTÊNCIA 24 HORAS", Environment.NewLine, this._linkAssistencia }; string str = string.Concat(strArrays); this.ViewModel.Anotacoes = str; } } private async void Recusar_OnClick(object sender, RoutedEventArgs e) { if (!this.ViewModel.Restricao(18)) { await this.ViewModel.RecusarDocumento(); } else { await this.ViewModel.ShowMessage("VOCÊ NÃO POSSUI PERMISSÃO PARA RECUSAR. PROCURE O ADMINSTRADOR DO SISTEMA.", "OK", "", false); } } private async void RelacaoItens_OnClick(object sender, RoutedEventArgs e) { await this.ViewModel.GerarExcel(this.ViewModel.FilterItens); } private async void Renovar_OnClick(object sender, RoutedEventArgs e) { if (this.ViewModel.Restricao(17)) { await this.ViewModel.ShowMessage("VOCÊ NÃO POSSUI PERMISSÃO PARA RENOVAR. PROCURE O ADMINSTRADOR DO SISTEMA.", "OK", "", false); } else if (!this.ViewModel.EnableRenovar) { await this.ViewModel.ShowMessage("NÃO É POSSÍVEL RENOVAR UM DOCUMENTO SEM EMISSÃO OU SEM FINAL DE VIGÊNCIA.", "OK", "", false); } else if (ConsultaViewModel.DocumentoSelecionado.get_Situacao() != 7) { Action acessaTela = Gestor.Application.Actions.Actions.AcessaTela; if (acessaTela != null) { acessaTela(2, "Renovar"); } else { } } else { await this.ViewModel.ShowMessage("NÃO É POSSÍVEL RENOVAR UM DOCUMENTO RECUSADO.", "OK", "", false); } } private async void ReordenarItem_Click(object sender, RoutedEventArgs e) { ObservableCollection itens = this.ViewModel.Itens; List list = ( from x in itens select x.get_Id()).ToList(); ConsultaViewModel viewModel = this.ViewModel; viewModel.SalvarOrdem(await this.ViewModel.ShowReordenarItensDialog(list)); viewModel = null; } private void ScrollDocumento() { if (this.ViewModel.UpdatingScroll && this.ApoliceGrid.SelectedItem != null) { this.ApoliceGrid.ScrollIntoView(this.ApoliceGrid.SelectedItem); } this.ViewModel.UpdatingScroll = false; } public void ScrollToIndex(DataGrid grid, int index) { ScrollViewer descendantByType = this.GetDescendantByType(grid, typeof(ScrollViewer)) as ScrollViewer; int num = (index - 5 > 0 ? index - 5 : 0); if (descendantByType == null) { return; } descendantByType.ScrollToVerticalOffset((double)num); } private void ScrollToItem() { if (this.ItemGrid.SelectedItem == null) { return; } this.ScrollToIndex(this.ItemGrid, this.ItemGrid.SelectedIndex); } private void SelecionarRadios(int filter) { this._carregarDocumetos = false; this.ApoliceRadioButton.IsChecked = new bool?(filter == 0); this.EndossoRadioButton.IsChecked = new bool?(filter == 1); this._carregarDocumetos = true; } private void Sinistros_OnClick(object sender, RoutedEventArgs e) { Action acessaTela = Gestor.Application.Actions.Actions.AcessaTela; if (acessaTela == null) { return; } acessaTela(7, ""); } [DebuggerNonUserCode] [EditorBrowsable(EditorBrowsableState.Never)] [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { switch (connectionId) { case 1: { this.ApoliceRadioButton = (RadioButton)target; return; } case 2: { this.EndossoRadioButton = (RadioButton)target; return; } case 3: { ((MenuItem)target).Click += new RoutedEventHandler(this.ClienteView_Click); return; } case 4: { this.AcessarDocumentoMenuItem = (MenuItem)target; this.AcessarDocumentoMenuItem.Click += new RoutedEventHandler(this.ApoliceView_Click); return; } case 5: { ((MenuItem)target).Click += new RoutedEventHandler(this.Renovar_OnClick); return; } case 6: { ((MenuItem)target).Click += new RoutedEventHandler(this.Perdido_OnClick); return; } case 7: { ((MenuItem)target).Click += new RoutedEventHandler(this.Endossar_OnClick); return; } case 8: { ((MenuItem)target).Click += new RoutedEventHandler(this.Recusar_OnClick); return; } case 9: { ((MenuItem)target).Click += new RoutedEventHandler(this.MenuItem_OnClick); return; } case 10: { ((MenuItem)target).Click += new RoutedEventHandler(this.Extratos_OnClick); return; } case 11: { ((MenuItem)target).Click += new RoutedEventHandler(this.TrocarCliente_OnClick); return; } case 12: { ((MenuItem)target).Click += new RoutedEventHandler(this.EditarParcelas_OnClick); return; } case 13: { ((MenuItem)target).Click += new RoutedEventHandler(this.ExpedicaoInfo_OnClick); return; } case 14: { ((MenuItem)target).Click += new RoutedEventHandler(this.ValoresInfo_OnClick); return; } case 15: { ((MenuItem)target).Click += new RoutedEventHandler(this.ManutecaoItens_OnClick); return; } case 16: { ((MenuItem)target).Click += new RoutedEventHandler(this.RelacaoItens_OnClick); return; } case 17: { this.ApoliceGrid = (DataGrid)target; return; } case 18: case 22: case 23: case 24: case 25: case 26: case 29: case 30: case 40: case 41: case 42: { this._contentLoaded = true; return; } case 19: { this.NomeField = (DataGridTextColumn)target; return; } case 20: { this.ApelidoField = (DataGridTextColumn)target; return; } case 21: { this.ApolicesComissaoColumn = (DataGridTextColumn)target; return; } case 27: { this.EndossoGrid = (DataGrid)target; return; } case 28: { this.EndossosComissaoColumn = (DataGridTextColumn)target; return; } case 31: { ((MenuItem)target).Click += new RoutedEventHandler(this.Parcela_Click); return; } case 32: { this.Comissao = (WrapPanel)target; return; } case 33: { this.ParcelaGrid = (DataGrid)target; return; } case 34: { this.ParcelasTotalColumn = (DataGridTextColumn)target; return; } case 35: { this.ParcelasRealizadoColumn = (DataGridTextColumn)target; return; } case 36: { this.ParcelasComissaoColumn = (DataGridTextColumn)target; return; } case 37: { this.ParcelasReciboColumn = (DataGridTextColumn)target; return; } case 38: { this.ParcelasValorComissaoDescColumn = (DataGridTextColumn)target; return; } case 39: { this.MaisInformacoesColumn = (DataGridTemplateColumn)target; return; } case 43: { ((MenuItem)target).Click += new RoutedEventHandler(this.Item_Click); return; } case 44: { ((MenuItem)target).Click += new RoutedEventHandler(this.Sinistros_OnClick); return; } case 45: { this.AtivosRadioButton = (RadioButton)target; return; } case 46: { this.ApoliceItensRadioButton = (RadioButton)target; return; } case 47: { this.EndossoItensRadioButton = (RadioButton)target; return; } case 48: { this.InativosRadioButton = (RadioButton)target; return; } case 49: { ((MenuItem)target).Click += new RoutedEventHandler(this.MostrarItens_Click); return; } case 50: { ((MenuItem)target).Click += new RoutedEventHandler(this.ReordenarItem_Click); return; } case 51: { this.ItemGrid = (DataGrid)target; return; } default: { this._contentLoaded = true; return; } } } [DebuggerNonUserCode] [EditorBrowsable(EditorBrowsableState.Never)] [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) { switch (connectionId) { case 18: { EventSetter eventSetter = new EventSetter() { Event = Control.MouseDoubleClickEvent, Handler = new MouseButtonEventHandler(this.ApoliceGrid_OnMouseDoubleClick) }; ((System.Windows.Style)target).Setters.Add(eventSetter); return; } case 19: case 20: case 21: case 27: case 28: { return; } case 22: { ((Button)target).Click += new RoutedEventHandler(this.AbrirAquivoDigital_Click); return; } case 23: { ((Button)target).Click += new RoutedEventHandler(this.Observacoes_OnClick); return; } case 24: { ((PopupBox)target).add_Opened(new RoutedEventHandler(this.PopupBox_OnOpened)); ((PopupBox)target).add_Closed(new RoutedEventHandler(this.PopupBox_OnClosed)); return; } case 25: { ((Button)target).Click += new RoutedEventHandler(this.EnviarPorWhatsApp_OnClick); return; } case 26: { ((MenuItem)target).Click += new RoutedEventHandler(this.EnviarPorEmail_OnClick); return; } case 29: { ((Button)target).Click += new RoutedEventHandler(this.AbrirAquivoDigital_Click); return; } case 30: { ((Button)target).Click += new RoutedEventHandler(this.Observacoes_OnClick); return; } default: { switch (connectionId) { case 40: { ((Button)target).Click += new RoutedEventHandler(this.ValoresParcelaInfo_OnClick); return; } case 41: { ((Button)target).Click += new RoutedEventHandler(this.AbrirAquivoDigital_Click); return; } case 42: { ((Button)target).Click += new RoutedEventHandler(this.Observacoes_OnClick); return; } default: { if (connectionId != 52) { return; } ((Button)target).Click += new RoutedEventHandler(this.AbrirAquivoDigital_Click); return; } } break; } } } private async void TrocarCliente_OnClick(object sender, RoutedEventArgs e) { (new HosterWindow(new TrocarClienteView(this.ViewModel.SelectedControle), "TROCAR CLIENTE", new double?((double)500), new double?((double)200), false)).ShowDialog(); await this.ViewModel.SelecionaCliente(MainViewModel.ClienteSelecionado, true); Action recarregarDocumentos = Gestor.Application.Actions.Actions.RecarregarDocumentos; if (recarregarDocumentos != null) { recarregarDocumentos(null); } else { } } private async void ValoresInfo_OnClick(object sender, RoutedEventArgs e) { bool flag = this.ViewModel.Restricao(97); if (!flag) { Documento documento = await this.ViewModel.AbrirDetalhes(); this.ViewModel.ShowDrawer(new ValoresApoliceDrawer(documento), 0, true); } if (flag) { await this.ViewModel.ShowMessage("VOCÊ NÃO POSSUI PERMISSÃO PARA ACESSAR MAIS INFORMAÇÕES.", "OK", "", false); } } private async void ValoresParcelaInfo_OnClick(object sender, RoutedEventArgs e) { Parcela parcela = await this.ViewModel.AbrirDetalhesParcela(); this.ViewModel.ShowDrawer(new ValoresParcelaDrawer(parcela, this.ViewModel.SelectedControle), 0, true); } private void VisibilityValorPago() { bool flag; DataGridTextColumn parcelasTotalColumn = this.ParcelasTotalColumn; ObservableCollection parcelas = this.ViewModel.Parcelas; if (parcelas != null) { flag = parcelas.Sum((Parcela p) => p.get_ValorPago()) > new decimal(); } else { flag = false; } parcelasTotalColumn.Visibility = (flag ? System.Windows.Visibility.Visible : System.Windows.Visibility.Collapsed); } } }