summaryrefslogtreecommitdiff
path: root/Decompiler/Gestor.Application.ViewModels.Ferramentas/ProtocoloDocumentosViewModel.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Decompiler/Gestor.Application.ViewModels.Ferramentas/ProtocoloDocumentosViewModel.cs')
-rw-r--r--Decompiler/Gestor.Application.ViewModels.Ferramentas/ProtocoloDocumentosViewModel.cs278
1 files changed, 278 insertions, 0 deletions
diff --git a/Decompiler/Gestor.Application.ViewModels.Ferramentas/ProtocoloDocumentosViewModel.cs b/Decompiler/Gestor.Application.ViewModels.Ferramentas/ProtocoloDocumentosViewModel.cs
new file mode 100644
index 0000000..20e4e44
--- /dev/null
+++ b/Decompiler/Gestor.Application.ViewModels.Ferramentas/ProtocoloDocumentosViewModel.cs
@@ -0,0 +1,278 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Windows;
+using System.Windows.Controls;
+using Assinador.Infrastructure.Helpers;
+using Gestor.Application.Helpers;
+using Gestor.Application.Servicos.Seguros;
+using Gestor.Application.ViewModels.Generic;
+using Gestor.Application.Views.Ferramentas;
+using Gestor.Application.Views.Generic;
+using Gestor.Model.Common;
+using Gestor.Model.Domain.Generic;
+using Gestor.Model.Domain.Seguros;
+
+namespace Gestor.Application.ViewModels.Ferramentas;
+
+public class ProtocoloDocumentosViewModel : BaseSegurosViewModel
+{
+ private Cliente _selectedCliente = new Cliente();
+
+ private ObservableCollection<Documento> _apolicesFiltradas = new ObservableCollection<Documento>();
+
+ private ObservableCollection<ProtocoloEtiqueta> _apolicesAdicionadas = new ObservableCollection<ProtocoloEtiqueta>();
+
+ private FiltroStatusDocumento _selectedStatus;
+
+ public Cliente SelectedCliente
+ {
+ get
+ {
+ return _selectedCliente;
+ }
+ set
+ {
+ //IL_0053: Unknown result type (might be due to invalid IL or missing references)
+ //IL_0030: Unknown result type (might be due to invalid IL or missing references)
+ //IL_0037: Invalid comparison between Unknown and I4
+ _selectedCliente = value;
+ if (SelectedCliente != null && ((DomainBase)SelectedCliente).Id != 0L && (LastAccessId != ((DomainBase)SelectedCliente).Id || (int)LastAccessTela != 59))
+ {
+ SelecionarDocumentos();
+ LastAccessId = ((DomainBase)SelectedCliente).Id;
+ LastAccessTela = (TipoTela)59;
+ }
+ OnPropertyChanged("SelectedCliente");
+ }
+ }
+
+ public ObservableCollection<Documento> ApolicesFiltradas
+ {
+ get
+ {
+ return _apolicesFiltradas;
+ }
+ set
+ {
+ _apolicesFiltradas = value;
+ OnPropertyChanged("ApolicesFiltradas");
+ }
+ }
+
+ public ObservableCollection<ProtocoloEtiqueta> ApolicesAdicionadas
+ {
+ get
+ {
+ return _apolicesAdicionadas;
+ }
+ set
+ {
+ _apolicesAdicionadas = value;
+ OnPropertyChanged("ApolicesAdicionadas");
+ }
+ }
+
+ public FiltroStatusDocumento SelectedStatus
+ {
+ get
+ {
+ //IL_0001: Unknown result type (might be due to invalid IL or missing references)
+ return _selectedStatus;
+ }
+ set
+ {
+ //IL_0001: Unknown result type (might be due to invalid IL or missing references)
+ //IL_0002: Unknown result type (might be due to invalid IL or missing references)
+ _selectedStatus = value;
+ SelectedCliente = SelectedCliente;
+ SelecionarDocumentos();
+ OnPropertyChanged("SelectedStatus");
+ }
+ }
+
+ public async void SelecionarDocumentos()
+ {
+ Loading(isLoading: true);
+ if (SelectedCliente == null)
+ {
+ Loading(isLoading: false);
+ return;
+ }
+ ApolicesFiltradas = await new ApoliceServico().BuscarApolicesComissao(((DomainBase)SelectedCliente).Id, SelectedStatus);
+ ProtocoloDocumentosViewModel protocoloDocumentosViewModel = this;
+ string arg = (((int)SelectedStatus == 4) ? "TODOS OS DOCUMENTOS" : ("OS " + Functions.GetDescription((Enum)(object)SelectedStatus)));
+ Cliente selectedCliente = SelectedCliente;
+ string arg2 = ((selectedCliente != null) ? selectedCliente.Nome : null);
+ Cliente selectedCliente2 = SelectedCliente;
+ protocoloDocumentosViewModel.RegistrarAcao($"CONSULTOU {arg} DO CLIENTE {arg2} ({((selectedCliente2 != null) ? new long?(((DomainBase)selectedCliente2).Id) : null)})", (SelectedCliente == null) ? 0 : ((DomainBase)SelectedCliente).Id, (TipoTela)59);
+ Loading(isLoading: false);
+ }
+
+ public async void AdicionarProtocolo(Documento documento)
+ {
+ bool flag = ApolicesAdicionadas.Any((ProtocoloEtiqueta x) => ((DomainBase)x.Documento).Id == ((DomainBase)documento).Id && (int)x.Tipo == 0);
+ if (flag)
+ {
+ flag = !(await ShowMessage("JÁ EXISTE UM PROTOCOLO ADICIONADO PARA O DOCUMENTO SELECIONADO, DESEJA ADICIONAR NOVAMENTE?", "SIM", "NÃO"));
+ }
+ if (!flag)
+ {
+ ObservableCollection<ProtocoloEtiqueta> apolicesAdicionadas = ApolicesAdicionadas;
+ ProtocoloEtiqueta protocoloEtiqueta = new ProtocoloEtiqueta();
+ ProtocoloEtiqueta protocoloEtiqueta2 = protocoloEtiqueta;
+ protocoloEtiqueta2.Documento = await new ApoliceServico().BuscarApoliceAsync(((DomainBase)documento).Id);
+ protocoloEtiqueta.Tipo = (TipoProtocoloEtiqueta)0;
+ apolicesAdicionadas.Add(protocoloEtiqueta);
+ ApolicesAdicionadas = new ObservableCollection<ProtocoloEtiqueta>(ApolicesAdicionadas.OrderBy((ProtocoloEtiqueta x) => ((DomainBase)x.Documento).Id));
+ }
+ }
+
+ public async void AdicionarEtiqueta(Documento documento)
+ {
+ ObservableCollection<ProtocoloEtiqueta> apolicesAdicionadas = ApolicesAdicionadas;
+ ProtocoloEtiqueta protocoloEtiqueta = new ProtocoloEtiqueta();
+ ProtocoloEtiqueta protocoloEtiqueta2 = protocoloEtiqueta;
+ protocoloEtiqueta2.Documento = await new ApoliceServico().BuscarApoliceAsync(((DomainBase)documento).Id);
+ protocoloEtiqueta.Tipo = (TipoProtocoloEtiqueta)1;
+ apolicesAdicionadas.Add(protocoloEtiqueta);
+ ApolicesAdicionadas = new ObservableCollection<ProtocoloEtiqueta>(ApolicesAdicionadas.OrderBy((ProtocoloEtiqueta x) => ((DomainBase)x.Documento).Id));
+ }
+
+ public async void AdicionarEtiquetaCliente()
+ {
+ if (SelectedCliente == null || ((DomainBase)SelectedCliente).Id == 0L)
+ {
+ return;
+ }
+ bool flag = ApolicesAdicionadas.Any((ProtocoloEtiqueta x) => ((DomainBase)x.Documento.Controle.Cliente).Id == ((DomainBase)SelectedCliente).Id && (int)x.Tipo == 1);
+ if (flag)
+ {
+ flag = !(await ShowMessage("JÁ EXISTE UMA ETIQUETA ADICIONADA PARA O CLIENTE SELECIONADO, DESEJA ADICIONAR NOVAMENTE?", "SIM", "NÃO"));
+ }
+ if (!flag)
+ {
+ ApolicesAdicionadas.Add(new ProtocoloEtiqueta
+ {
+ Documento = new Documento
+ {
+ Controle = new Controle
+ {
+ Cliente = SelectedCliente
+ }
+ },
+ Tipo = (TipoProtocoloEtiqueta)1
+ });
+ ApolicesAdicionadas = new ObservableCollection<ProtocoloEtiqueta>(from x in ApolicesAdicionadas
+ orderby x.Tipo, ((DomainBase)x.Documento.Controle.Cliente).Id
+ select x);
+ }
+ }
+
+ public async void AdicionarEtiquetaCorretora()
+ {
+ ClienteEndereco item = new ClienteEndereco
+ {
+ Endereco = ((EnderecoBase)Recursos.Empresa).Endereco,
+ Bairro = ((EnderecoBase)Recursos.Empresa).Bairro,
+ Numero = ((EnderecoBase)Recursos.Empresa).Numero,
+ Complemento = ((EnderecoBase)Recursos.Empresa).Complemento,
+ Cidade = ((EnderecoBase)Recursos.Empresa).Cidade,
+ Estado = ((EnderecoBase)Recursos.Empresa).Estado,
+ Cep = ((EnderecoBase)Recursos.Empresa).Cep
+ };
+ ObservableCollection<ClienteEndereco> observableCollection = new ObservableCollection<ClienteEndereco>();
+ observableCollection.Add(item);
+ ApolicesAdicionadas.Add(new ProtocoloEtiqueta
+ {
+ Documento = new Documento
+ {
+ Controle = new Controle
+ {
+ Cliente = new Cliente
+ {
+ Nome = Recursos.Empresa.Nome,
+ Id = -1L,
+ Enderecos = observableCollection
+ }
+ }
+ },
+ Tipo = (TipoProtocoloEtiqueta)1
+ });
+ ApolicesAdicionadas = new ObservableCollection<ProtocoloEtiqueta>(from x in ApolicesAdicionadas
+ orderby x.Tipo, ((DomainBase)x.Documento.Controle.Cliente).Id
+ select x);
+ }
+
+ public void Remover(ProtocoloEtiqueta documento)
+ {
+ ApolicesAdicionadas.Remove(documento);
+ SelecionarDocumentos();
+ }
+
+ public async void Imprimir(TipoProtocoloEtiqueta tipo)
+ {
+ //IL_0016: Unknown result type (might be due to invalid IL or missing references)
+ //IL_0017: Unknown result type (might be due to invalid IL or missing references)
+ if (ApolicesAdicionadas.Count == 0)
+ {
+ await ShowMessage("NECESSÁRIO ADICIONAR DOCUMENTOS PARA EMISSÃO DE " + Functions.GetDescription((Enum)(object)tipo));
+ }
+ else if ((int)tipo != 0)
+ {
+ if ((int)tipo != 1)
+ {
+ return;
+ }
+ if (ApolicesAdicionadas.All((ProtocoloEtiqueta x) => (int)x.Tipo != 1))
+ {
+ await ShowMessage("NECESSÁRIO ADICIONAR DOCUMENTOS PARA EMISSÃO DE " + Functions.GetDescription((Enum)(object)tipo));
+ return;
+ }
+ if (ApolicesAdicionadas.Any((ProtocoloEtiqueta x) => (int)x.Tipo == 1 && ((DomainBase)x.Documento).Id == 0))
+ {
+ if (ApolicesAdicionadas.Any((ProtocoloEtiqueta x) => (int)x.Tipo == 1 && ((DomainBase)x.Documento).Id != 0))
+ {
+ await ShowMessage("COMO EXISTEM ETIQUETAS DE CLIENTES E DOCUMENTOS,\nPRIMEIRO CONFIGURE AS DE SOMENTE CLIENTE.\nDEPOIS DE GERAR AS ETIQUETAS DE CLIENTE, CONFIGURAR AS DE DOCUMENTOS");
+ }
+ ((Window)new HosterWindow((ContentControl)(object)new EtiquetaView((from x in ApolicesAdicionadas
+ where (int)x.Tipo == 1 && ((DomainBase)x.Documento).Id == 0
+ select x.Documento).ToList(), apenasCliente: true), "ETIQUETAS", 900.0, 600.0)).Show();
+ }
+ if (ApolicesAdicionadas.Any((ProtocoloEtiqueta x) => (int)x.Tipo == 1 && ((DomainBase)x.Documento).Id != 0))
+ {
+ ((Window)new HosterWindow((ContentControl)(object)new EtiquetaView((from x in ApolicesAdicionadas
+ where (int)x.Tipo == 1 && ((DomainBase)x.Documento).Id != 0
+ select x.Documento).ToList(), apenasCliente: false), "ETIQUETAS", 900.0, 600.0)).Show();
+ }
+ }
+ else if (ApolicesAdicionadas.All((ProtocoloEtiqueta x) => (int)x.Tipo > 0))
+ {
+ await ShowMessage("NECESSÁRIO ADICIONAR DOCUMENTOS PARA EMISSÃO DE " + Functions.GetDescription((Enum)(object)tipo));
+ }
+ else if (ApolicesAdicionadas.Any((ProtocoloEtiqueta x) => (int)x.Tipo == 0))
+ {
+ List<Documento> lista = await ShowProtocoloDialog((from x in ApolicesAdicionadas
+ where (int)x.Tipo == 0
+ select x.Documento).ToList());
+ if (lista != null)
+ {
+ PrepararProtocolo(lista, await ShowMessage("DESEJA EMITIR DOIS PROTOCOLOS POR PÁGINA?" + Environment.NewLine + "A QUANTIDADE DE INFORMÃÇÕES PODE IMPEDIR QUE ESSA FUNÇÃO FUNCIONE CORRETAMENTE", "SIM", "NÃO"));
+ }
+ }
+ }
+
+ public async void PrepararProtocolo(List<Documento> documentos, bool doisPorPagina)
+ {
+ if (await ShowMessage("DESEJA EMITIR O CHECKLIST?", "SIM", "NÃO"))
+ {
+ await EmitirCheckList(documentos);
+ }
+ if (documentos != null)
+ {
+ List<Tuple<long, string>> lista = documentos.Select((Documento x) => new Tuple<long, string>(((DomainBase)x).Id, x.ObsProtocolo)).ToList();
+ await EmitirProtocolos(lista, doisPorPagina, documentos);
+ }
+ }
+}