using Assinador.Model.Domain; using Assinador.Model.Generic; using CsQuery.ExtensionMethods.Internal; using Gestor.Application.Helpers; using Gestor.Application.Servicos; using Gestor.Application.Servicos.Generic; using Gestor.Application.Servicos.Seguros; using Gestor.Application.ViewModels.Generic; using Gestor.Application.Views.Ferramentas; using Gestor.Common.Security; using Gestor.Common.Validation; using Gestor.Model.API; using Gestor.Model.Common; using Gestor.Model.Domain.Common; using Gestor.Model.Domain.Configuracoes; using Gestor.Model.Domain.Ferramentas; using Gestor.Model.Domain.Financeiro; using Gestor.Model.Domain.Generic; using Gestor.Model.Domain.MalaDireta; using Gestor.Model.Domain.Seguros; using Gestor.Model.Helper; using Gestor.Model.License; using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Diagnostics; using System.Linq; using System.Runtime.CompilerServices; using System.Threading.Tasks; using System.Windows; namespace Gestor.Application.ViewModels.Drawer { public class ArquivoDigitalViewModel : BaseSegurosViewModel { private readonly ClienteServico _servico; private Visibility _assinarVisibility = Visibility.Collapsed; private Visibility _visibilityWhatsApp = Visibility.Collapsed; private bool _carregando; private bool _activated = true; private bool _adDocumento; private Visibility _adDocumentoVisibility; private bool _isVisibleSalvar; private Visibility _enviarSelecionadosVisibility; private Cliente _selectedCliente = new Cliente(); private ObservableCollection _telefones = new ObservableCollection(); private ObservableCollection _arquivos = new ObservableCollection(); private ObservableCollection _arquivosTela = new ObservableCollection(); private IndiceArquivoDigital _selectedArquivo = new IndiceArquivoDigital(); private ObservableCollection _arquivosAnexados = new ObservableCollection(); private Gestor.Model.Domain.Common.ArquivoDigital _selectedAnexado = new Gestor.Model.Domain.Common.ArquivoDigital(); private string _titulo = ""; private ObservableCollection _emails = new ObservableCollection(); private string _assunto; private string _corpo; private string _nome; private string _documento; private string _email; private string _licencas; private string _assinadorKey; public bool Activated { get { return this._activated; } set { this._activated = value; base.OnPropertyChanged("Activated"); } } public bool AdDocumento { get { return this._adDocumento; } set { this._adDocumento = value; this.CarregarArquivos(); base.OnPropertyChanged("AdDocumento"); } } public Visibility AdDocumentoVisibility { get { return this._adDocumentoVisibility; } set { this._adDocumentoVisibility = value; base.OnPropertyChanged("AdDocumentoVisibility"); } } public ObservableCollection Arquivos { get { return this._arquivos; } set { this._arquivos = value; this.ArquivosTela = value; base.OnPropertyChanged("Arquivos"); } } public ObservableCollection ArquivosAnexados { get { return this._arquivosAnexados; } set { this._arquivosAnexados = value; this.IsVisibleSalvar = (value == null ? false : value.Count > 0); base.OnPropertyChanged("ArquivosAnexados"); } } public ObservableCollection ArquivosTela { get { return this._arquivosTela; } set { this._arquivosTela = value; base.OnPropertyChanged("ArquivosTela"); } } public Visibility AssinarVisibility { get { return this._assinarVisibility; } set { this._assinarVisibility = value; base.OnPropertyChanged("AssinarVisibility"); } } public string Assunto { get { return this._assunto; } set { this._assunto = value; base.OnPropertyChanged("Assunto"); } } public bool Carregando { get { return this._carregando; } set { this._carregando = value; base.IsEnabled = !value; base.OnPropertyChanged("Carregando"); } } public string Corpo { get { return this._corpo; } set { this._corpo = value; base.OnPropertyChanged("Corpo"); } } public string Documento { get { return this._documento; } set { this._documento = value; base.OnPropertyChanged("Documento"); } } public string Email { get { return this._email; } set { string str; if (value != null) { str = value.Trim(); } else { str = null; } this._email = str; base.OnPropertyChanged("Email"); } } public ObservableCollection Emails { get { return this._emails; } set { this._emails = value; base.OnPropertyChanged("Emails"); } } public Visibility EnviarSelecionadosVisibility { get { return this._enviarSelecionadosVisibility; } set { this._enviarSelecionadosVisibility = (!base.Restricao(20) ? value : Visibility.Collapsed); base.OnPropertyChanged("EnviarSelecionadosVisibility"); } } private FiltroArquivoDigital Filtro { get; } public bool IsVisibleSalvar { get { return this._isVisibleSalvar; } set { this._isVisibleSalvar = value; base.OnPropertyChanged("IsVisibleSalvar"); } } public string Licencas { get { return this._licencas; } set { this._licencas = value; base.OnPropertyChanged("Licencas"); } } public string Nome { get { return this._nome; } set { this._nome = value; base.OnPropertyChanged("Nome"); } } public Gestor.Model.Domain.Common.ArquivoDigital SelectedAnexado { get { return this._selectedAnexado; } set { this._selectedAnexado = value; base.OnPropertyChanged("SelectedAnexado"); } } public IndiceArquivoDigital SelectedArquivo { get { return this._selectedArquivo; } set { this._selectedArquivo = value; base.OnPropertyChanged("SelectedArquivo"); } } public Cliente SelectedCliente { get { return this._selectedCliente; } set { this._selectedCliente = value; base.OnPropertyChanged("SelectedCliente"); } } public ObservableCollection Telefones { get { return this._telefones; } set { this._telefones = value; base.OnPropertyChanged("Telefones"); } } public string Titulo { get { return this._titulo; } set { this._titulo = value; base.OnPropertyChanged("Titulo"); } } public Visibility VisibilityWhatsApp { get { return this._visibilityWhatsApp; } set { this._visibilityWhatsApp = value; base.OnPropertyChanged("VisibilityWhatsApp"); } } public ArquivoDigitalViewModel(FiltroArquivoDigital filtro) { this.Filtro = filtro; this._servico = new ClienteServico(); this.CarregarArquivos(); this.VisibilityWhatsApp = (filtro.get_Tipo() == 2 || filtro.get_Tipo() == 3 || filtro.get_Tipo() == 4 || filtro.get_Tipo() == 5 ? Visibility.Visible : Visibility.Collapsed); this.AdDocumentoVisibility = ((filtro.get_Tipo() == 4 || filtro.get_Tipo() == 3 || filtro.get_Tipo() == 5) && (new PermissaoArquivoDigitalServico()).BuscarPermissao(Recursos.Usuario, 2).get_Consultar() ? Visibility.Visible : Visibility.Collapsed); base.EnableMenu = true; switch (filtro.get_Tipo()) { case 0: case 6: case 7: case 8: case 9: case 10: case 12: case 13: case 14: case 15: case 17: { this.EnviarSelecionadosVisibility = Visibility.Collapsed; return; } default: { this.EnviarSelecionadosVisibility = Visibility.Visible; return; } } } public async void Anexar() { ObservableCollection arquivos = this.Arquivos; List list = arquivos.Select((IndiceArquivoDigital x) => { Gestor.Model.Domain.Common.ArquivoDigital arquivoDigital = new Gestor.Model.Domain.Common.ArquivoDigital(); arquivoDigital.set_Descricao(x.get_Descricao()); arquivoDigital.set_Extensao(x.get_Extensao()); return arquivoDigital; }).ToList(); List arquivoDigitals = await base.AddAttachments(this.ArquivosAnexados.ToList(), list); if (arquivoDigitals != null) { List configuracoes = Recursos.Configuracoes; if (!configuracoes.Any((ConfiguracaoSistema x) => x.get_Configuracao() == 47)) { arquivoDigitals = await base.ShowDialogAnexar(arquivoDigitals, false); if (arquivoDigitals == null) { return; } } arquivoDigitals.AddRange(this.ArquivosAnexados); this.ArquivosAnexados = new ObservableCollection(arquivoDigitals); } } public async Task Assinar(IndiceArquivoDigital indice, bool lote = false) { ArquivoParaAssinaturaAssinador arquivoParaAssinaturaAssinador; object obj; int num = 0; try { AssinaturaServico assinaturaServico = new AssinaturaServico(); Gestor.Application.Servicos.ArquivoDigitalServico arquivoDigitalServico = new Gestor.Application.Servicos.ArquivoDigitalServico(); if (await assinaturaServico.VerificarAssinado(indice.get_Id())) { if (!lote) { await base.ShowMessage("ARQUIVO JÁ ASSINADO", "OK", "", false); } arquivoParaAssinaturaAssinador = null; return arquivoParaAssinaturaAssinador; } else if (await assinaturaServico.VerificarEnviado(indice.get_Id())) { arquivoParaAssinaturaAssinador = await assinaturaServico.Reenviar(indice.get_Id()); return arquivoParaAssinaturaAssinador; } else if (this.Nome == null || string.IsNullOrWhiteSpace(this.Nome)) { if (!lote) { await base.ShowMessage("É NECESSÁRIO QUE O ASSINANTE POSSUA UM NOME VÁLIDO", "OK", "", false); } arquivoParaAssinaturaAssinador = null; return arquivoParaAssinaturaAssinador; } else if (this.Documento == null || !Gestor.Common.Validation.ValidationHelper.ValidateDocument(this.Documento)) { if (!lote) { await base.ShowMessage("É NECESSÁRIO QUE O ASSINANTE POSSUA UM DOCUMENTO VÁLIDO", "OK", "", false); } arquivoParaAssinaturaAssinador = null; return arquivoParaAssinaturaAssinador; } else if (this.Documento.Length > 14) { if (!lote) { await base.ShowMessage("O DOCUMENTO DO ASSINANTE DEVE SER CPF E NÃO CNPJ", "OK", "", false); } arquivoParaAssinaturaAssinador = null; return arquivoParaAssinaturaAssinador; } else if (this.Email == null || !Gestor.Model.Helper.ValidationHelper.ValidacaoEmail(this.Email)) { if (!lote) { await base.ShowMessage("É NECESSÁRIO QUE O ASSINANTE POSSUA UM E-MAIL VÁLIDO", "OK", "", false); } arquivoParaAssinaturaAssinador = null; return arquivoParaAssinaturaAssinador; } else { Gestor.Model.Domain.Common.ArquivoDigital arquivoDigital = await arquivoDigitalServico.BuscarPorId(indice.get_IdArquivoDigital(), indice.get_Bd()); long id = (long)0; Gestor.Model.Domain.Seguros.Documento documento = new Gestor.Model.Domain.Seguros.Documento(); switch (this.Filtro.get_Tipo()) { case 2: { id = ((Gestor.Model.Domain.Seguros.Documento)this.Filtro.get_Parente()).get_Id(); break; } case 3: { id = ((Parcela)this.Filtro.get_Parente()).get_Documento().get_Id(); break; } case 4: { id = ((Item)this.Filtro.get_Parente()).get_Documento().get_Id(); break; } case 5: { id = ((Sinistro)this.Filtro.get_Parente()).get_ControleSinistro().get_Item().get_Documento().get_Id(); break; } default: { arquivoParaAssinaturaAssinador = null; return arquivoParaAssinaturaAssinador; } } AssinaturaServico assinaturaServico1 = assinaturaServico; ApoliceAssinador apoliceAssinador = new ApoliceAssinador(); apoliceAssinador.set_ArquivoId(indice.get_Id()); apoliceAssinador.set_ClienteId(this.SelectedCliente.get_Id()); apoliceAssinador.set_Cliente(this.Nome); apoliceAssinador.set_Email(this.Email); apoliceAssinador.set_Documento(this.Documento); apoliceAssinador.set_Id(id); ArquivoParaAssinaturaAssinador arquivoParaAssinaturaAssinador1 = await assinaturaServico1.Assinar(arquivoDigital, apoliceAssinador); arquivoParaAssinaturaAssinador = await assinaturaServico.Save(arquivoParaAssinaturaAssinador1); return arquivoParaAssinaturaAssinador; } } catch (Exception exception) { obj = exception; num = 1; } if (num != 1) { throw null; } Exception exception1 = (Exception)obj; string[] newLine = new string[] { "ERRO AO ENVIAR PARA ASSINATURA", Environment.NewLine, exception1.Message, Environment.NewLine, "POR FAVOR CONTATE A AGGER ATRAVÉS DO PAINEL DE ATENDIMENTOS" }; await base.ShowMessage(string.Concat(newLine), "OK", "", false); arquivoParaAssinaturaAssinador = null; return arquivoParaAssinaturaAssinador; } private void AtualizaEmpresa() { Recursos.Empresa = (new BaseServico()).BuscarEmpresa(Recursos.Usuario.get_IdEmpresa()); } public void Baixar(IndiceArquivoDigital arquivo, bool abrir = false) { if (arquivo == null || arquivo.get_IdArquivoDigital() == 0) { return; } base.Download(arquivo, abrir); } public async Task BaixarTodos() { bool flag; if (this.Arquivos == null || this.Arquivos.Count == 0) { flag = false; } else { flag = await base.DownloadAll(this.Arquivos.ToList(), this.Filtro.get_Id()); } return flag; } public async Task CarregaArquivos() { TipoArquivoDigital tipo; bool id; string email; object emailResponsavel; object nomeResponsavel; object documentoResponsavel; string str; string str1; Cliente cliente; FiltroArquivoDigital filtro = this.Filtro; if (filtro != null) { id = filtro.get_Id() == (long)0; } else { id = false; } if (!id) { this.Carregando = true; base.IsVisible = Visibility.Collapsed; this.AssinarVisibility = Visibility.Collapsed; if (this.Filtro != null) { List indiceArquivoDigitals = await this.ArquivoDigitalServico.BuscarPorTipo(this.Filtro.get_Tipo(), this.Filtro.get_Id()); if (this.AdDocumento) { List indiceArquivoDigitals1 = indiceArquivoDigitals; List indiceArquivoDigitals2 = await this.ArquivoDigitalServico.BuscarPorTipo(2, this.Filtro.get_IdApolice()); indiceArquivoDigitals1.AddRange(indiceArquivoDigitals2); indiceArquivoDigitals1 = null; } ArquivoDigitalViewModel observableCollection = this; List indiceArquivoDigitals3 = indiceArquivoDigitals; observableCollection.Arquivos = new ObservableCollection( from x in indiceArquivoDigitals3 orderby x.get_Descricao() select x); tipo = this.Filtro.get_Tipo(); switch (tipo) { case 2: { this.AssinarVisibility = Visibility.Visible; Gestor.Model.Domain.Seguros.Documento parente = (Gestor.Model.Domain.Seguros.Documento)this.Filtro.get_Parente(); this.SelectedCliente = parente.get_Controle().get_Cliente(); ArquivoDigitalViewModel arquivoDigitalViewModel = this; str = (parente.get_Apolice() != string.Empty ? string.Concat("ARQUIVO DIGITAL DA APÓLICE \"", parente.get_Apolice(), "\"") : string.Concat("ARQUIVO DIGITAL DA PROPOSTA \"", parente.get_Proposta(), "\"")); arquivoDigitalViewModel.Titulo = str; break; } case 3: { this.AssinarVisibility = Visibility.Visible; Parcela parcela = (Parcela)this.Filtro.get_Parente(); this.SelectedCliente = parcela.get_Documento().get_Controle().get_Cliente(); ArquivoDigitalViewModel arquivoDigitalViewModel1 = this; str1 = (parcela.get_Documento().get_Apolice() != string.Empty ? string.Format("ARQUIVO DIGITAL DA PARCELA \"{0}\" DA APÓLICE \"{1}\"", parcela.get_NumeroParcela(), parcela.get_Documento().get_Apolice()) : string.Format("ARQUIVO DIGITAL DA PARCELA \"{0}\" DA PROPOSTA \"{1}\"", parcela.get_NumeroParcela(), parcela.get_Documento().get_Proposta())); arquivoDigitalViewModel1.Titulo = str1; DetalheExtrato detalheExtrato = await (new ServicoExtrato()).FindByParcelaId(parcela.get_Id()); if (detalheExtrato == null) { break; } indiceArquivoDigitals = await this.ArquivoDigitalServico.BuscarPorTipo(7, detalheExtrato.get_Extrato().get_Id()); List indiceArquivoDigitals4 = indiceArquivoDigitals; indiceArquivoDigitals4.ForEach((IndiceArquivoDigital x) => x.set_NaoExcluir(true)); ObservableCollection arquivos = this.Arquivos; List indiceArquivoDigitals5 = indiceArquivoDigitals; ExtensionMethods.AddRange(arquivos, new ObservableCollection( from x in indiceArquivoDigitals5 orderby x.get_Descricao() select x)); break; } case 4: { this.AssinarVisibility = Visibility.Visible; Item item = (Item)this.Filtro.get_Parente(); this.SelectedCliente = item.get_Documento().get_Controle().get_Cliente(); this.Titulo = string.Concat("ARQUIVO DIGITAL DO ITEM \"", item.get_Descricao(), "\""); break; } case 5: { this.AssinarVisibility = Visibility.Visible; Sinistro sinistro = (Sinistro)this.Filtro.get_Parente(); this.SelectedCliente = sinistro.get_ControleSinistro().get_Item().get_Documento().get_Controle().get_Cliente(); string[] numero = new string[] { "ARQUIVO DIGITAL DO SINITRO \"", sinistro.get_Numero(), "\" DO ITEM \"", sinistro.get_ControleSinistro().get_Item().get_Descricao(), "\"" }; this.Titulo = string.Concat(numero); break; } case 6: { Vendedor vendedor = (Vendedor)this.Filtro.get_Parente(); Cliente cliente1 = new Cliente(); cliente1.set_Id(vendedor.get_Id()); cliente1.set_Nome(vendedor.get_Nome()); this.SelectedCliente = cliente1; this.Titulo = string.Format("ARQUIVO DIGITAL DO VENDEDOR {0} {1}", vendedor.get_Nome(), vendedor.get_Id()); break; } case 7: { Extrato extrato = (Extrato)this.Filtro.get_Parente(); Cliente cliente2 = new Cliente(); cliente2.set_Nome(string.Concat("EXTRATO ", extrato.get_Numero())); this.SelectedCliente = cliente2; this.Titulo = string.Format("ARQUIVO DIGITAL DO EXTRATO {0} ID:{1}", extrato.get_Numero(), extrato.get_Id()); break; } case 8: { Seguradora seguradora = (Seguradora)this.Filtro.get_Parente(); Cliente cliente3 = new Cliente(); cliente3.set_Id(seguradora.get_Id()); cliente3.set_Nome(seguradora.get_Nome()); this.SelectedCliente = cliente3; this.Titulo = string.Format("ARQUIVO DIGITAL DA SEGURADORA {0} {1}", seguradora.get_Nome(), seguradora.get_Id()); break; } case 9: { Lancamento lancamento = (Lancamento)this.Filtro.get_Parente(); if (!lancamento.get_Historico().Equals("TRANSFERÊNCIA ENTRE CONTAS")) { Cliente cliente4 = new Cliente(); cliente4.set_Id(lancamento.get_Controle().get_Fornecedor().get_Id()); cliente4.set_Nome(lancamento.get_Controle().get_Fornecedor().get_Nome()); this.SelectedCliente = cliente4; this.Titulo = string.Format("ARQUIVO DIGITAL DO LANCAMENTO {0}, PLANO {1}, CENTRO {2}", lancamento.get_Id(), lancamento.get_Controle().get_Plano().get_Nome(), lancamento.get_Controle().get_Centro().get_Descricao()); break; } else { await base.ShowMessage("NÃO É POSSIVEL INCLUIR ARQUIVOS EM TRANSFERÊNCIA ENTRE CONTAS", "OK", "", false); base.CloseDrawer(); return; } } case 10: { Fornecedor fornecedor = (Fornecedor)this.Filtro.get_Parente(); Cliente cliente5 = new Cliente(); cliente5.set_Id(fornecedor.get_Id()); cliente5.set_Nome(fornecedor.get_Nome()); this.SelectedCliente = cliente5; this.Titulo = string.Format("ARQUIVO DIGITAL DO FORNECEDOR {0} {1}", fornecedor.get_Nome(), fornecedor.get_Id()); break; } case 11: { Prospeccao prospeccao = (Prospeccao)this.Filtro.get_Parente(); Cliente cliente6 = new Cliente(); cliente6.set_Id(prospeccao.get_Id()); cliente6.set_Nome(prospeccao.get_Nome()); this.SelectedCliente = cliente6; this.Titulo = string.Format("ARQUIVO DIGITAL DA PROSPECÇÃO {0} {1} {2}", prospeccao.get_Nome(), prospeccao.get_Id(), prospeccao.get_Item()); break; } case 12: { Usuario usuario = (Usuario)this.Filtro.get_Parente(); Cliente cliente7 = new Cliente(); cliente7.set_Id(usuario.get_Id()); cliente7.set_Nome(usuario.get_Nome()); this.SelectedCliente = cliente7; this.Titulo = string.Format("ARQUIVO DIGITAL DO USUÁRIO {0} {1}", usuario.get_Nome(), usuario.get_Id()); break; } case 13: { Empresa empresa = (Empresa)this.Filtro.get_Parente(); Cliente cliente8 = new Cliente(); cliente8.set_Id(empresa.get_Id()); cliente8.set_Nome(empresa.get_Nome()); this.SelectedCliente = cliente8; this.Titulo = string.Format("ARQUIVO DIGITAL DA EMPRESA {0} {1}", empresa.get_Nome(), empresa.get_Id()); break; } case 14: { Socio socio = (Socio)this.Filtro.get_Parente(); Cliente cliente9 = new Cliente(); cliente9.set_Id(socio.get_Id()); cliente9.set_Nome(socio.get_Nome()); this.SelectedCliente = cliente9; this.Titulo = string.Format("ARQUIVO DIGITAL DO SÓCIO {0} {1}", socio.get_Nome(), socio.get_Id()); break; } case 15: { Tarefa tarefa = (Tarefa)this.Filtro.get_Parente(); Cliente cliente10 = new Cliente(); cliente10.set_Id(tarefa.get_Id()); cliente10.set_Nome(string.Concat("TAREFA - ", tarefa.get_Titulo())); this.SelectedCliente = cliente10; this.Titulo = string.Format("ANEXO DA TAREFA {0} {1}", tarefa.get_Titulo(), tarefa.get_Id()); break; } case 16: { NotaFiscal notaFiscal = (NotaFiscal)this.Filtro.get_Parente(); Cliente cliente11 = new Cliente(); cliente11.set_Id(notaFiscal.get_Id()); cliente11.set_Nome(string.Format("NOTA FISCAL - {0} {1:d}", notaFiscal.get_Seguradora().get_NomeSocial(), notaFiscal.get_Data())); this.SelectedCliente = cliente11; this.Titulo = string.Format("ANEXO DA NOTA FISCAL {0} {1:d}", notaFiscal.get_Seguradora().get_NomeSocial(), notaFiscal.get_Data()); break; } case 17: { Estipulante estipulante = (Estipulante)this.Filtro.get_Parente(); Cliente cliente12 = new Cliente(); cliente12.set_Id(estipulante.get_Id()); cliente12.set_Nome(string.Concat("ESTIPULANTE - ", estipulante.get_Nome())); this.SelectedCliente = cliente12; this.Titulo = string.Concat("ANEXO DO ESTIPULANTE ", estipulante.get_Nome()); break; } default: { this.SelectedCliente = (Cliente)this.Filtro.get_Parente(); this.Titulo = string.Concat("ARQUIVO DIGITAL DO CLIENTE \"", this.SelectedCliente.get_Nome(), "\""); break; } } indiceArquivoDigitals = null; } if (this.Filtro != null) { tipo = this.Filtro.get_Tipo(); switch (tipo) { case 1: case 2: case 3: case 4: case 5: { cliente = await this._servico.BuscarClienteAsync(this.SelectedCliente.get_Id()); this.Telefones = await this._servico.BuscarTelefonesAsync(this.SelectedCliente.get_Id()); ObservableCollection observableCollection1 = await (new ClienteServico()).BuscarEmailsAsync(this.SelectedCliente.get_Id()); if (this.SelectedCliente.get_Documento() == null || Gestor.Common.Validation.ValidationHelper.OnlyNumber(this.SelectedCliente.get_Documento()).Length <= 11) { ArquivoDigitalViewModel arquivoDigitalViewModel2 = this; ClienteEmail clienteEmail = observableCollection1.FirstOrDefault(); if (clienteEmail != null) { email = clienteEmail.get_Email(); } else { email = null; } arquivoDigitalViewModel2.Email = email; this.Nome = this.SelectedCliente.get_Nome(); this.Documento = this.SelectedCliente.get_Documento(); goto case 8; } else { ArquivoDigitalViewModel arquivoDigitalViewModel3 = this; Cliente cliente13 = cliente; if (cliente13 != null) { ResponsavelAssinatura responsavelAssinatura = cliente13.get_ResponsavelAssinatura(); if (responsavelAssinatura != null) { emailResponsavel = responsavelAssinatura.get_EmailResponsavel(); } else { emailResponsavel = null; } } else { emailResponsavel = null; } if (emailResponsavel == null) { ClienteEmail clienteEmail1 = observableCollection1.FirstOrDefault(); if (clienteEmail1 != null) { emailResponsavel = clienteEmail1.get_Email(); } else { emailResponsavel = null; } } arquivoDigitalViewModel3.Email = (string)emailResponsavel; ArquivoDigitalViewModel arquivoDigitalViewModel4 = this; Cliente cliente14 = cliente; if (cliente14 != null) { ResponsavelAssinatura responsavelAssinatura1 = cliente14.get_ResponsavelAssinatura(); if (responsavelAssinatura1 != null) { nomeResponsavel = responsavelAssinatura1.get_NomeResponsavel(); } else { nomeResponsavel = null; } } else { nomeResponsavel = null; } if (nomeResponsavel == null) { nomeResponsavel = this.SelectedCliente.get_Nome(); } arquivoDigitalViewModel4.Nome = (string)nomeResponsavel; ArquivoDigitalViewModel arquivoDigitalViewModel5 = this; Cliente cliente15 = cliente; if (cliente15 != null) { ResponsavelAssinatura responsavelAssinatura2 = cliente15.get_ResponsavelAssinatura(); if (responsavelAssinatura2 != null) { documentoResponsavel = responsavelAssinatura2.get_DocumentoResponsavel(); } else { documentoResponsavel = null; } } else { documentoResponsavel = null; } if (documentoResponsavel == null) { documentoResponsavel = this.SelectedCliente.get_Documento(); } arquivoDigitalViewModel5.Documento = (string)documentoResponsavel; goto case 8; } } case 6: case 7: case 8: { cliente = null; break; } case 9: { Lancamento parente1 = (Lancamento)this.Filtro.get_Parente(); ObservableCollection observableCollection2 = new ObservableCollection(); ClienteTelefone clienteTelefone = new ClienteTelefone(); clienteTelefone.set_Prefixo(parente1.get_Controle().get_Fornecedor().get_Prefixo1()); clienteTelefone.set_Numero(parente1.get_Controle().get_Fornecedor().get_Telefone1()); observableCollection2.Add(clienteTelefone); ClienteTelefone clienteTelefone1 = new ClienteTelefone(); clienteTelefone1.set_Prefixo(parente1.get_Controle().get_Fornecedor().get_Prefixo2()); clienteTelefone1.set_Numero(parente1.get_Controle().get_Fornecedor().get_Telefone2()); observableCollection2.Add(clienteTelefone1); this.Telefones = observableCollection2; goto case 8; } case 10: { Fornecedor fornecedor1 = (Fornecedor)this.Filtro.get_Parente(); ObservableCollection observableCollection3 = new ObservableCollection(); ClienteTelefone clienteTelefone2 = new ClienteTelefone(); clienteTelefone2.set_Prefixo(fornecedor1.get_Prefixo1()); clienteTelefone2.set_Numero(fornecedor1.get_Telefone1()); observableCollection3.Add(clienteTelefone2); ClienteTelefone clienteTelefone3 = new ClienteTelefone(); clienteTelefone3.set_Prefixo(fornecedor1.get_Prefixo2()); clienteTelefone3.set_Numero(fornecedor1.get_Telefone2()); observableCollection3.Add(clienteTelefone3); this.Telefones = observableCollection3; goto case 8; } default: { if (tipo == 17) { Estipulante estipulante1 = (Estipulante)this.Filtro.get_Parente(); ObservableCollection observableCollection4 = new ObservableCollection(); ClienteTelefone clienteTelefone4 = new ClienteTelefone(); clienteTelefone4.set_Prefixo(estipulante1.get_PrimeiroPrefixo()); clienteTelefone4.set_Numero(estipulante1.get_PrimeiroTelefone()); observableCollection4.Add(clienteTelefone4); ClienteTelefone clienteTelefone5 = new ClienteTelefone(); clienteTelefone5.set_Prefixo(estipulante1.get_SegundoPrefixo()); clienteTelefone5.set_Numero(estipulante1.get_SegundoTelefone()); observableCollection4.Add(clienteTelefone5); this.Telefones = observableCollection4; goto case 8; } else { goto case 8; } } } } base.IsVisible = Visibility.Visible; this.Carregando = false; } } public async void CarregarArquivos() { await base.PermissaoTela(6); await base.PermissaoArquivoDigital(this.Filtro.get_Tipo()); await this.CarregaArquivos(); string str = "PRODUTO NÃO CONTRATADO"; List produtos = LicenseHelper.Produtos; if (produtos.Any((Licenca x) => x.get_Produto() == 86)) { this._assinadorKey = await AssinadorHelper.Key(); int num = await AssinadorHelper.Licencas(this._assinadorKey); str = string.Format("{0} LICENÇAS DISPONÍVEIS", num); } this.Licencas = str; base.VerificarEnables(new long?((long)0)); } public string CarregarMensagem() { Gestor.Model.Domain.Seguros.Documento parente; Item item; string str; string str1; this.AtualizaEmpresa(); if (Recursos.Empresa.get_TipoTelefone1() == 11) { str1 = "0300"; } else { str1 = (Recursos.Empresa.get_TipoTelefone1() == 10 ? "0800" : ""); } string str2 = str1; str2 = string.Concat(new string[] { str2, " ", Recursos.Empresa.get_PrimeiroPrefixo(), " ", Recursos.Empresa.get_PrimeiroTelefone() }); TipoArquivoDigital tipo = this.Filtro.get_Tipo(); switch (tipo) { case 1: { return string.Concat(new string[] { "Prezado(a) ", Gestor.Common.Validation.ValidationHelper.Captalize(this.SelectedCliente.get_Nome()), ", segue o(s) link(s) para download referente ao(s) seu(s) arquivo(s). ", Environment.NewLine, Environment.NewLine, "[*LINK*]", Environment.NewLine, Environment.NewLine, "<|LINKASSINATURA|>", Environment.NewLine, Environment.NewLine, "Para mais informações entre contato conosco pelo ", str2, ".", Environment.NewLine, "Atenciosamente ", Gestor.Common.Validation.ValidationHelper.Captalize(Recursos.Empresa.get_Nome()), "." }); } case 2: { parente = (Gestor.Model.Domain.Seguros.Documento)this.Filtro.get_Parente(); str = (string.IsNullOrWhiteSpace(parente.get_Apolice()) ? string.Concat("Proposta Número ", parente.get_Proposta()) : string.Concat("Apólice Número ", parente.get_Apolice())); string[] strArrays = new string[] { "Prezado(a) ", Gestor.Common.Validation.ValidationHelper.Captalize(this.SelectedCliente.get_Nome()), " segue o(s) link(s) para download do(s) arquivo(s) referente ao seu seguro. ", Environment.NewLine, null }; strArrays[4] = string.Format("{0}, {1}, {2} de Vigências entre {3:d} e {4:d}. {5}{6}[*LINK*]{7}{8}<|LINKASSINATURA|>Para mais informações entre contato conosco pelo {9}.{10}Atenciosamente {11}.", new object[] { Gestor.Common.Validation.ValidationHelper.Captalize(parente.get_Controle().get_Seguradora().get_Nome()), Gestor.Common.Validation.ValidationHelper.Captalize(parente.get_Controle().get_Ramo().get_Nome()), str, parente.get_Vigencia1(), parente.get_Vigencia2(), Environment.NewLine, Environment.NewLine, Environment.NewLine, Environment.NewLine, str2, Environment.NewLine, Gestor.Common.Validation.ValidationHelper.Captalize(Recursos.Empresa.get_Nome()) }); return string.Concat(strArrays); } case 3: { Parcela parcela = (Parcela)this.Filtro.get_Parente(); parente = parcela.get_Documento(); str = (string.IsNullOrWhiteSpace(parente.get_Apolice()) ? string.Concat("Proposta Número ", parente.get_Proposta()) : string.Concat("Apólice Número ", parente.get_Apolice())); string[] strArrays1 = new string[] { "Prezado(a) ", Gestor.Common.Validation.ValidationHelper.Captalize(this.SelectedCliente.get_Nome()), " segue o(s) link(s) para download do(s) arquivo(s) referente a sua parcela. ", Environment.NewLine, null, null }; strArrays1[4] = string.Format("Parcela {0} de {1}, valor {2:C2} de vencimento {3:d}. {4}", new object[] { parcela.get_NumeroParcela(), parente.get_NumeroParcelas(), parcela.get_Valor(), parcela.get_Vencimento(), Environment.NewLine }); strArrays1[5] = string.Format("{0}, {1}, {2} de Vigências entre {3:d} e {4:d}. {5}{6}[*LINK*]{7}{8}<|LINKASSINATURA|>Para mais informações entre contato conosco pelo {9}.{10}Atenciosamente {11}.", new object[] { Gestor.Common.Validation.ValidationHelper.Captalize(parente.get_Controle().get_Seguradora().get_Nome()), Gestor.Common.Validation.ValidationHelper.Captalize(parente.get_Controle().get_Ramo().get_Nome()), str, parente.get_Vigencia1(), parente.get_Vigencia2(), Environment.NewLine, Environment.NewLine, Environment.NewLine, Environment.NewLine, str2, Environment.NewLine, Gestor.Common.Validation.ValidationHelper.Captalize(Recursos.Empresa.get_Nome()) }); return string.Concat(strArrays1); } case 4: { item = (Item)this.Filtro.get_Parente(); parente = item.get_Documento(); str = (string.IsNullOrWhiteSpace(parente.get_Apolice()) ? string.Concat("Proposta Número ", parente.get_Proposta()) : string.Concat("Apólice Número ", parente.get_Apolice())); string[] strArrays2 = new string[] { "Prezado(a) ", Gestor.Common.Validation.ValidationHelper.Captalize(this.SelectedCliente.get_Nome()), " segue o(s) link(s) para download do(s) arquivo(s) referente ao seu seguro. ", Environment.NewLine, "Item ", item.get_Descricao(), ". ", Environment.NewLine, null }; strArrays2[8] = string.Format("{0}, {1}, {2} de Vigências entre {3:d} e {4:d}. {5}{6}[*LINK*]{7}{8}<|LINKASSINATURA|>Para mais informações entre contato conosco pelo {9}.{10}Atenciosamente {11}.", new object[] { Gestor.Common.Validation.ValidationHelper.Captalize(parente.get_Controle().get_Seguradora().get_Nome()), Gestor.Common.Validation.ValidationHelper.Captalize(parente.get_Controle().get_Ramo().get_Nome()), str, parente.get_Vigencia1(), parente.get_Vigencia2(), Environment.NewLine, Environment.NewLine, Environment.NewLine, Environment.NewLine, str2, Environment.NewLine, Gestor.Common.Validation.ValidationHelper.Captalize(Recursos.Empresa.get_Nome()) }); return string.Concat(strArrays2); } case 5: { Sinistro sinistro = (Sinistro)this.Filtro.get_Parente(); item = sinistro.get_ControleSinistro().get_Item(); parente = item.get_Documento(); str = (string.IsNullOrWhiteSpace(parente.get_Apolice()) ? string.Concat("Proposta Número ", parente.get_Proposta()) : string.Concat("Apólice Número ", parente.get_Apolice())); string[] strArrays3 = new string[] { "Prezado(a) ", Gestor.Common.Validation.ValidationHelper.Captalize(this.SelectedCliente.get_Nome()), " segue o(s) link(s) para download do(s) arquivo(s) referente ao seu sinistro. ", Environment.NewLine, "Sinistro de número ", sinistro.get_Numero(), " Item sinistrado ", sinistro.get_ItemSinistrado(), ". ", Environment.NewLine, null }; strArrays3[10] = string.Format("{0}, {1}, {2} de Vigências entre {3:d} e {4:d}. {5}{6}[*LINK*]{7}{8}<|LINKASSINATURA|>Para mais informações entre contato conosco pelo {9}.{10}Atenciosamente {11}.", new object[] { Gestor.Common.Validation.ValidationHelper.Captalize(parente.get_Controle().get_Seguradora().get_Nome()), Gestor.Common.Validation.ValidationHelper.Captalize(parente.get_Controle().get_Ramo().get_Nome()), str, parente.get_Vigencia1(), parente.get_Vigencia2(), Environment.NewLine, Environment.NewLine, Environment.NewLine, Environment.NewLine, str2, Environment.NewLine, Gestor.Common.Validation.ValidationHelper.Captalize(Recursos.Empresa.get_Nome()) }); return string.Concat(strArrays3); } default: { if (tipo == 13) { break; } else { goto Label0; } } } return string.Concat(new string[] { "Prezado(a) ", Gestor.Common.Validation.ValidationHelper.Captalize(this.SelectedCliente.get_Nome()), ", segue o(s) link(s) para download referente ao(s) seu(s) arquivo(s). ", Environment.NewLine, Environment.NewLine, "[*LINK*]", Environment.NewLine, Environment.NewLine, "<|LINKASSINATURA|>", Environment.NewLine, Environment.NewLine, "Para mais informações entre contato conosco pelo ", str2, ".", Environment.NewLine, "Atenciosamente ", Gestor.Common.Validation.ValidationHelper.Captalize(Recursos.Empresa.get_Nome()), "." }); Label0: return string.Concat(new string[] { "Prezado(a), segue o(s) link(s) para download referente ao(s) seu(s) arquivo(s).", Environment.NewLine, Environment.NewLine, "[*LINK*]", Environment.NewLine, Environment.NewLine, " Para mais informações entre contato conosco pelo ", str2, ".", Environment.NewLine, "Atenciosamente ", Gestor.Common.Validation.ValidationHelper.Captalize(Recursos.Empresa.get_Nome()), "." }); } public async Task CreateLink(IndiceArquivoDigital indice) { DateTime networkTime = Funcoes.GetNetworkTime(); string str = string.Format("{0}:{1}:F:{2}", networkTime.Ticks, ApplicationHelper.IdFornecedor, indice.get_Id()).Base64Encode(); return Recursos.ApiArquivo.AddQuery("search", str); } public void Delete(Gestor.Model.Domain.Common.ArquivoDigital arquivo) { if (this.SelectedAnexado == null) { return; } Gestor.Model.Domain.Common.ArquivoDigital arquivoDigital = this.ArquivosAnexados.First((Gestor.Model.Domain.Common.ArquivoDigital x) => x.get_Descricao() == arquivo.get_Descricao()); this.ArquivosAnexados.Remove(arquivoDigital); this.ArquivosAnexados = new ObservableCollection(this.ArquivosAnexados); } public async void Editar(IndiceArquivoDigital arquivo) { if (arquivo != null && arquivo.get_IdArquivoDigital() != 0) { await this.ArquivoDigitalServico.Save(arquivo); } } public async Task EnviarParaAssinatura() { bool flag; object obj; ObservableCollection arquivosTela = this.ArquivosTela; if (!arquivosTela.Any((IndiceArquivoDigital x) => x.get_Assinar())) { await base.ShowMessage("É NECESSÁRIO SELECIONAR AO MENOS UM ARQUIVO PARA ENVIAR PARA ASSINATURA.", "OK", "", false); flag = false; } else if (!await base.ShowMessage("DESEJA ENVIAR OS ARQUIVOS SELECIONADOS PARA ASSINATURA ELETRÔNICA DO SEGURADO?", "SIM", "NÃO", false)) { flag = false; } else if (!this.Email.EndsWith(";")) { base.Loading(true); this._assinadorKey = await AssinadorHelper.Key(); int num = await AssinadorHelper.Licencas(this._assinadorKey); int num1 = num; ObservableCollection arquivos = this.Arquivos; if (num1 >= arquivos.Count((IndiceArquivoDigital x) => { if (!x.get_Assinar()) { return false; } return !x.get_EnviadoAssinatura(); })) { AssinadorHelper.Parametros = await AssinaturaServico.BuscarParametrosAssinatura(Recursos.Usuario.get_IdEmpresa()); int num2 = 0; ObservableCollection observableCollection = this.ArquivosTela; int num3 = ( from x in observableCollection where x.get_Assinar() select x).Count(); ObservableCollection arquivosTela1 = this.ArquivosTela; foreach (IndiceArquivoDigital indiceArquivoDigital in from x in arquivosTela1 where x.get_Assinar() select x) { if (indiceArquivoDigital.get_Assinado()) { continue; } if (!indiceArquivoDigital.get_EnviadoAssinatura()) { ArquivoParaAssinaturaAssinador arquivoParaAssinaturaAssinador = await this.Assinar(indiceArquivoDigital, false); if (arquivoParaAssinaturaAssinador == null) { continue; } num--; indiceArquivoDigital.set_EnviadoAssinatura(true); indiceArquivoDigital.set_UrlAssinatura(arquivoParaAssinaturaAssinador.get_UrlAssinatura()); num2++; indiceArquivoDigital = null; } else { await (new AssinaturaServico()).Reenviar(indiceArquivoDigital.get_Id()); } } base.Loading(false); this.Arquivos = new ObservableCollection(this.Arquivos); await base.ShowMessage(string.Format("{0} DE {1} ARQUIVOS FORAM ENVIADOS PARA ASSINATURA. VOCÊ SERÁ NOTIFICADO QUANDO OS DOCUMENTOS FOREM ASSINADOS", num2, num3), "OK", "", false); flag = true; } else if (base.Restricao(113)) { await base.ShowMessage("VOCÊ NÃO POSSUI MAIS LICENÇAS DISPONÍVEIS E O USUÁRIO NÃO PODE CONTRATAR, ENTRE EM CONTATO COM O ADMINISTRADOR DO SISTEMA.", "OK", "", false); base.Loading(false); flag = false; } else if (await base.ShowMessage("VOCÊ NÃO POSSUI MAIS LICENÇAS DISPONÍVEIS, DESEJA CONTRATAR MAIS?", "SIM", "NÃO", false)) { Token token = new Token(); object[] numeroSerial = new object[] { ApplicationHelper.NumeroSerial, ApplicationHelper.IdFornecedor, Recursos.Usuario.get_Id(), null }; obj = (ApplicationHelper.Beta ? "1" : "0"); numeroSerial[3] = obj; string str = token.Encrypt(string.Format("{0}:{1}:{2}:{3}", numeroSerial)); Parameters parameter = new Parameters(); parameter.set_Beta(ApplicationHelper.Beta); parameter.set_Type(8); parameter.set_Application("Assinador.Application.exe"); parameter.set_Directory("Assinador.Application"); parameter.set_Arguments(str); parameter.set_Run(true); (new DownloadWindow(parameter)).Show(); base.Loading(false); flag = false; } else { base.Loading(false); flag = false; } } else { await base.ShowMessage("É NECESSÁRIO QUE O ASSINANTE POSSUA UM E-MAIL VÁLIDO", "OK", "", false); flag = false; } return flag; } public async Task Excluir(IndiceArquivoDigital arquivo) { if (arquivo != null && arquivo.get_IdArquivoDigital() != 0) { if (await this.ArquivoDigitalServico.DeleteAttachment(arquivo)) { await this.CarregaArquivos(); } } } public void LimparAnexos() { this.ArquivosAnexados = new ObservableCollection(); } public async Task PrepararEnvio() { MalaDireta malaDiretum; Item item; string str; Item item1; string str1; MalaDireta malaDiretum1; Gestor.Model.Domain.Seguros.Documento parente; Parcela parcela; ObservableCollection arquivos = this.Arquivos; if (arquivos.Any((IndiceArquivoDigital x) => x.get_Selecionado())) { MalaDireta malaDiretum2 = new MalaDireta(); malaDiretum2.set_Cliente(this.SelectedCliente); ObservableCollection observableCollection = this.Arquivos; malaDiretum2.set_ArquivoDigital(( from x in observableCollection where x.get_Selecionado() select x).ToList()); malaDiretum1 = malaDiretum2; TipoArquivoDigital tipo = this.Filtro.get_Tipo(); switch (tipo) { case 2: { parente = (Gestor.Model.Domain.Seguros.Documento)this.Filtro.get_Parente(); List items = await base.CarregarItem(parente.get_Controle().get_Id(), 0); MalaDireta malaDiretum3 = malaDiretum1; if (items.Count > 1) { item = new Item(); item.set_Id((long)0); item.set_Descricao("APÓLICE COLETIVA"); } else { item = items.FirstOrDefault(); } malaDiretum3.set_Item(item); malaDiretum1.set_Apolice(parente); ArquivoDigitalViewModel arquivoDigitalViewModel = this; str = (parente.get_Apolice() != string.Empty ? string.Concat("DOCUMENTOS REFERENTES A APÓLICE ", parente.get_Apolice()) : string.Concat("DOCUMENTOS REFERENTES A PROPOSTA ", parente.get_Proposta())); arquivoDigitalViewModel.Assunto = str; this.Corpo = string.Concat("PREZADO CLIENTE ", this.SelectedCliente.get_Nome(), ", EM ANEXO OS DOCUMENTOS REFERENTES AO SEU SEGURO."); malaDiretum1.set_Tela(2); break; } case 3: { parcela = (Parcela)this.Filtro.get_Parente(); malaDiretum1.set_Apolice(parcela.get_Documento()); malaDiretum1.set_Parcela(parcela); List items1 = await base.CarregarItem(parcela.get_Documento().get_Controle().get_Id(), 0); MalaDireta malaDiretum4 = malaDiretum1; if (items1.Count > 1) { item1 = new Item(); item1.set_Id((long)0); item1.set_Descricao("APÓLICE COLETIVA"); } else { item1 = items1.FirstOrDefault(); } malaDiretum4.set_Item(item1); ArquivoDigitalViewModel arquivoDigitalViewModel1 = this; str1 = (parcela.get_Documento().get_Apolice() != string.Empty ? string.Format("DOCUMENTOS REFERENTE A PARCELA {0} DA APÓLICE {1}", parcela.get_NumeroParcela(), parcela.get_Documento().get_Apolice()) : string.Format("DOCUMENTOS REFERENTE A PARCELA {0} DA PROPOSTA {1}", parcela.get_NumeroParcela(), parcela.get_Documento().get_Proposta())); arquivoDigitalViewModel1.Assunto = str1; this.Corpo = string.Concat("PREZADO CLIENTE ", this.SelectedCliente.get_Nome(), ", EM ANEXO OS DOCUMENTOS REFERENTES AS PARCELAS DE SEU SEGURO."); malaDiretum1.set_Tela(5); break; } case 4: { Item parente1 = (Item)this.Filtro.get_Parente(); malaDiretum1.set_Apolice(parente1.get_Documento()); malaDiretum1.set_Item(parente1); this.Assunto = string.Concat("DOCUMENTOS REFERENTES AO ITEM ", parente1.get_Descricao()); this.Corpo = string.Concat("PREZADO CLIENTE ", this.SelectedCliente.get_Nome(), ", EM ANEXO OS DOCUMENTOS REFERENTES AO SEU BEM."); malaDiretum1.set_Tela(3); break; } case 5: { Sinistro sinistro = (Sinistro)this.Filtro.get_Parente(); malaDiretum1.set_Sinistro(sinistro); malaDiretum1.set_Item(sinistro.get_ControleSinistro().get_Item()); malaDiretum1.set_Apolice(sinistro.get_ControleSinistro().get_Item().get_Documento()); this.Titulo = string.Concat("DOCUMENTOS REFERENTES AO SINITRO ", sinistro.get_Numero()); string[] nome = new string[] { "PREZADO CLIENTE ", this.SelectedCliente.get_Nome(), ", EM ANEXO OS DOCUMENTOS REFERENTES SINISTRO DO ITEM ", sinistro.get_ControleSinistro().get_Item().get_Descricao(), "." }; this.Corpo = string.Concat(nome); malaDiretum1.set_Tela(7); break; } default: { if (tipo == 11) { Prospeccao prospeccao = (Prospeccao)this.Filtro.get_Parente(); malaDiretum1.set_Prospeccao(prospeccao); malaDiretum1.get_Cliente().set_Id((long)0); this.Assunto = string.Concat("DOCUMENTOS REFERENTES PROSPECÇÃO ", prospeccao.get_Nome()); this.Corpo = ""; malaDiretum1.set_Tela(33); break; } else { this.SelectedCliente = (Cliente)this.Filtro.get_Parente(); this.Titulo = string.Concat("ARQUIVO DIGITAL DO CLIENTE \"", this.SelectedCliente.get_Nome(), "\""); break; } } } parente = null; parcela = null; malaDiretum = malaDiretum1; } else { await base.ShowMessage("É NECESSÁRIO SELECIONAR AO MENOS UM ARQUIVO PARA ENVIO.", "OK", "", false); malaDiretum = null; } malaDiretum1 = null; return malaDiretum; } public async Task SalvarAnexos() { if (this.ArquivosAnexados != null && this.ArquivosAnexados.Count != 0) { this.Carregando = true; List list = this.ArquivosAnexados.ToList(); if (await base.SalvarAttachments(list, this.Filtro.get_Tipo(), this.Filtro.get_Id())) { await this.CarregaArquivos(); this.ArquivosAnexados = new ObservableCollection(); this.Carregando = false; } else { this.Carregando = false; } } } } }