diff options
| author | Lucas Faria Mendes <lucas.fariamo08@gmail.com> | 2026-03-30 15:29:41 +0000 |
|---|---|---|
| committer | Lucas Faria Mendes <lucas.fariamo08@gmail.com> | 2026-03-30 15:29:41 +0000 |
| commit | 225aa1499e37faf9d38257caabbadc68d78b427e (patch) | |
| tree | 102bb7a40c58595348ae9d3c7076201759fe0720 /Decompiler/Gestor.Application.ViewModels.Ferramentas/ProtocoloDocumentosViewModel.cs | |
| parent | 1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1 (diff) | |
| download | gestor-225aa1499e37faf9d38257caabbadc68d78b427e.tar.gz gestor-225aa1499e37faf9d38257caabbadc68d78b427e.zip | |
decompiler.com
Diffstat (limited to 'Decompiler/Gestor.Application.ViewModels.Ferramentas/ProtocoloDocumentosViewModel.cs')
| -rw-r--r-- | Decompiler/Gestor.Application.ViewModels.Ferramentas/ProtocoloDocumentosViewModel.cs | 278 |
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); + } + } +} |