summaryrefslogtreecommitdiff
path: root/Gestor.Application/ViewModels/Generic/DialogEnviarEmailsViewModel.cs
diff options
context:
space:
mode:
authorLucas Faria Mendes <lucas.fariamo08@gmail.com>2026-03-30 13:38:18 +0000
committerLucas Faria Mendes <lucas.fariamo08@gmail.com>2026-03-30 13:38:18 +0000
commit1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1 (patch)
treee1c3b20ea08f0cf71122a1e73f0d395f8fd83874 /Gestor.Application/ViewModels/Generic/DialogEnviarEmailsViewModel.cs
parent674ca83ba9243a9e95a7568c797668dab6aee26a (diff)
downloadgestor-1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1.tar.gz
gestor-1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1.zip
chore: location
Diffstat (limited to 'Gestor.Application/ViewModels/Generic/DialogEnviarEmailsViewModel.cs')
-rw-r--r--Gestor.Application/ViewModels/Generic/DialogEnviarEmailsViewModel.cs394
1 files changed, 0 insertions, 394 deletions
diff --git a/Gestor.Application/ViewModels/Generic/DialogEnviarEmailsViewModel.cs b/Gestor.Application/ViewModels/Generic/DialogEnviarEmailsViewModel.cs
deleted file mode 100644
index 646d94e..0000000
--- a/Gestor.Application/ViewModels/Generic/DialogEnviarEmailsViewModel.cs
+++ /dev/null
@@ -1,394 +0,0 @@
-using Gestor.Application.Helpers;
-using Gestor.Application.Servicos;
-using Gestor.Common.Validation;
-using Gestor.Model.Common;
-using Gestor.Model.Domain.Common;
-using Gestor.Model.Domain.Ferramentas;
-using Gestor.Model.Domain.Generic;
-using Gestor.Model.Domain.MalaDireta;
-using Gestor.Model.Domain.Seguros;
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.Diagnostics;
-using System.Linq;
-using System.Runtime.CompilerServices;
-using System.Threading.Tasks;
-
-namespace Gestor.Application.ViewModels.Generic
-{
- public class DialogEnviarEmailsViewModel : BaseSegurosViewModel
- {
- private ObservableCollection<MalaDireta> _listaTela = new ObservableCollection<MalaDireta>();
-
- private string _infoEnvio = "CLIQUE EM ENVIAR PARA INCIAR O ENVIO";
-
- private List<Gestor.Model.Domain.Common.ArquivoDigital> _arquivosAnexados
- {
- get;
- set;
- }
-
- private bool _assinatura
- {
- get;
- set;
- }
-
- private string _assunto
- {
- get;
- set;
- }
-
- private bool _confirmarLeitura
- {
- get;
- set;
- }
-
- private string _corpo
- {
- get;
- set;
- }
-
- private Credencial _credencial
- {
- get;
- set;
- }
-
- private FiltroArquivoDigital _filtro
- {
- get;
- set;
- }
-
- private bool _original
- {
- get;
- set;
- }
-
- private bool _salvarAd
- {
- get;
- set;
- }
-
- public string InfoEnvio
- {
- get
- {
- return this._infoEnvio;
- }
- set
- {
- this._infoEnvio = value;
- base.OnPropertyChanged("InfoEnvio");
- }
- }
-
- public List<MalaDireta> Lista
- {
- get;
- set;
- }
-
- public ObservableCollection<MalaDireta> ListaTela
- {
- get
- {
- return this._listaTela;
- }
- set
- {
- this._listaTela = value;
- base.OnPropertyChanged("ListaTela");
- }
- }
-
- public DialogEnviarEmailsViewModel(List<MalaDireta> lista, bool assinatura, bool original, List<Gestor.Model.Domain.Common.ArquivoDigital> arquivosAnexados, string assunto, string corpo, Credencial credencial, FiltroArquivoDigital filtro, bool salvarAd, bool confirmarLeitura)
- {
- lista.ForEach((MalaDireta x) => x.set_InfoEnvio(null));
- this.Lista = lista;
- this.PrepararLista();
- this._assinatura = assinatura;
- this._original = original;
- this._arquivosAnexados = arquivosAnexados;
- this._assunto = assunto;
- this._corpo = corpo;
- this._credencial = credencial;
- this._filtro = filtro;
- this._salvarAd = salvarAd;
- this._confirmarLeitura = confirmarLeitura;
- }
-
- public void Enviar()
- {
- this.Enviar(this._assinatura, this._original, this._arquivosAnexados, this._assunto, this._corpo, this._credencial, this._filtro, this._salvarAd, this._confirmarLeitura);
- }
-
- private async void Enviar(bool assinatura, bool original, List<Gestor.Model.Domain.Common.ArquivoDigital> arquivosAnexados, string assunto, string corpo, Credencial credencial, FiltroArquivoDigital filtro, bool salvarAd, bool confirmarLeitura)
- {
- base.Loading(true);
- this.InfoEnvio = "ENVIANDO, AGUARDE ATÉ O PROCESSO TERMINAR.";
- await this.EnviarEmails(assinatura, original, arquivosAnexados, assunto, corpo, credencial, filtro, salvarAd, confirmarLeitura);
- this.InfoEnvio = "TENTATIVA DE ENVIO CONCLUÍDA, CONFIRA O STATUS ABAIXO.";
- base.Loading(false);
- }
-
- private async Task EnviarEmails(bool assinatura, bool original, List<Gestor.Model.Domain.Common.ArquivoDigital> arquivosAnexados, string assunto, string corpo, Credencial credencial, FiltroArquivoDigital filtro, bool salvarAd, bool confirmarLeitura)
- {
- int i;
- List<Gestor.Model.Domain.Common.ArquivoDigital> arquivoDigitals;
- List<Gestor.Model.Domain.Common.ArquivoDigital> arquivoDigitals1;
- bool flag;
- bool arquivoDigital;
- List<string> copiaComum;
- List<string> copiaOculta;
- string str;
- long? nullable;
- bool valueOrDefault;
- List<string> strs = new List<string>();
- VariaveisMalaDireta[] values = (VariaveisMalaDireta[])Enum.GetValues(typeof(VariaveisMalaDireta));
- for (i = 0; i < (int)values.Length; i++)
- {
- strs.Add(ValidationHelper.GetEntity(values[i]));
- }
- if (strs.Any<string>(new Func<string, bool>(assunto.Contains)) || strs.Any<string>(new Func<string, bool>(corpo.Contains)))
- {
- flag = true;
- }
- else
- {
- List<MalaDireta> lista = this.Lista;
- flag = lista.Any<MalaDireta>((MalaDireta x) => {
- if (x.get_ArquivoDigital() == null)
- {
- return false;
- }
- return x.get_ArquivoDigital().Count > 0;
- });
- }
- bool flag1 = flag;
- Credencial credencial1 = credencial;
- MailHelper mailHelper = new MailHelper();
- bool flag2 = false;
- if (salvarAd)
- {
- Gestor.Application.Servicos.ArquivoDigitalServico arquivoDigitalServico = new Gestor.Application.Servicos.ArquivoDigitalServico();
- foreach (MalaDireta listum in this.Lista)
- {
- arquivosAnexados.ForEach((Gestor.Model.Domain.Common.ArquivoDigital a) => {
- a.set_IdCliente((listum.get_Tela() == 1 ? listum.get_Cliente().get_Id() : (long)0));
- a.set_IdDocumento((listum.get_Tela() == 2 ? listum.get_Apolice().get_Id() : (long)0));
- a.set_IdItem((listum.get_Tela() == 3 ? listum.get_Item().get_Id() : (long)0));
- a.set_IdParcela((listum.get_Tela() == 5 ? listum.get_Parcela().get_Id() : (long)0));
- a.set_IdProspeccao((listum.get_Tela() == 33 ? listum.get_Prospeccao().get_Id() : (long)0));
- a.set_IdSinistro((listum.get_Tela() == 7 ? listum.get_Sinistro().get_Id() : (long)0));
- a.set_IdEmpresa(Recursos.Usuario.get_IdEmpresa());
- });
- List<IndiceArquivoDigital> indiceArquivoDigitals = await arquivoDigitalServico.Insert(arquivosAnexados.ToList<Gestor.Model.Domain.Common.ArquivoDigital>());
- List<Gestor.Model.Domain.Common.ArquivoDigital> arquivoDigitals2 = arquivosAnexados;
- if (!arquivoDigitals2.Any<Gestor.Model.Domain.Common.ArquivoDigital>((Gestor.Model.Domain.Common.ArquivoDigital arquivo) => arquivo.get_Arquivo() == null))
- {
- continue;
- }
- arquivoDigitals = await arquivoDigitalServico.Buscar(indiceArquivoDigitals);
- arquivosAnexados = arquivoDigitals;
- }
- arquivoDigitalServico = null;
- }
- if (!string.IsNullOrWhiteSpace(credencial.get_Cabecalho()))
- {
- corpo = string.Concat(credencial.get_Cabecalho(), corpo);
- }
- if (!string.IsNullOrWhiteSpace(credencial.get_Assinatura()))
- {
- corpo = string.Concat(corpo, "<br /><br />", credencial.get_Assinatura());
- }
- if (flag1)
- {
- for (int j = 0; j < this.Lista.Count; j = i + 1)
- {
- MalaDireta item = this.Lista[j];
- if (item.get_ArquivoDigital() == null)
- {
- arquivoDigitals = new List<Gestor.Model.Domain.Common.ArquivoDigital>();
- }
- else
- {
- if (!(!assinatura | original))
- {
- Gestor.Application.Servicos.ArquivoDigitalServico arquivoDigitalServico1 = this.ArquivoDigitalServico;
- List<IndiceArquivoDigital> arquivoDigital1 = item.get_ArquivoDigital();
- arquivoDigitals1 = await arquivoDigitalServico1.Buscar((
- from x in arquivoDigital1
- where string.IsNullOrWhiteSpace(x.get_UrlAssinatura())
- select x).ToList<IndiceArquivoDigital>());
- }
- else
- {
- arquivoDigitals1 = await this.ArquivoDigitalServico.Buscar(item.get_ArquivoDigital().ToList<IndiceArquivoDigital>());
- }
- arquivoDigitals = arquivoDigitals1;
- }
- List<Gestor.Model.Domain.Common.ArquivoDigital> arquivoDigitals3 = arquivoDigitals;
- if (arquivosAnexados != null && arquivosAnexados.Count > 0)
- {
- arquivoDigitals3.AddRange(arquivosAnexados);
- }
- MalaDireta malaDiretum = item;
- if (malaDiretum != null)
- {
- arquivoDigital = malaDiretum.get_ArquivoDigital();
- }
- else
- {
- arquivoDigital = false;
- }
- if (!arquivoDigital)
- {
- MalaDireta malaDiretum1 = item;
- if (malaDiretum1 != null)
- {
- Documento apolice = malaDiretum1.get_Apolice();
- if (apolice != null)
- {
- nullable = new long?(apolice.get_Id());
- }
- else
- {
- nullable = null;
- }
- long? nullable1 = nullable;
- long num = (long)0;
- valueOrDefault = nullable1.GetValueOrDefault() > num & nullable1.HasValue;
- }
- else
- {
- valueOrDefault = false;
- }
- if (valueOrDefault)
- {
- MalaDireta malaDiretum2 = item;
- List<IndiceArquivoDigital> indiceArquivoDigitals1 = await this.ArquivoDigitalServico.BuscarPorTipo(2, item.get_Apolice().get_Id());
- malaDiretum2.set_ArquivoDigital(indiceArquivoDigitals1);
- malaDiretum2 = null;
- }
- }
- Destinatario destinatario = new Destinatario();
- destinatario.set_Assunto(Funcoes.SubstituirVariaveis(assunto, item));
- destinatario.set_Corpo(Funcoes.SubstituirVariaveis(corpo, item));
- destinatario.set_Email(item.get_Email());
- Copia copia = item.get_Copia();
- if (copia != null)
- {
- copiaComum = copia.get_CopiaComum();
- }
- else
- {
- copiaComum = null;
- }
- destinatario.set_Encaminhar(copiaComum);
- Copia copium = item.get_Copia();
- if (copium != null)
- {
- copiaOculta = copium.get_CopiaOculta();
- }
- else
- {
- copiaOculta = null;
- }
- destinatario.set_EncaminharOculto(copiaOculta);
- destinatario.set_Nome(item.get_Cliente().get_Nome());
- destinatario.set_Anexos(arquivoDigitals3);
- Destinatario destinatario1 = destinatario;
- List<MalaDireta> malaDiretas = new List<MalaDireta>()
- {
- item
- };
- LogEnvio logEnvio = await mailHelper.SendAsync(credencial, destinatario1, filtro, malaDiretas, 0, confirmarLeitura);
- item.set_Enviado(new bool?(logEnvio.get_Enviado()));
- MalaDireta malaDiretum3 = item;
- str = (logEnvio.get_Enviado() ? "ENVIADO COM SUCESSO" : string.Concat("NÃO ENVIADO, ENTRE EM CONTATO COM SEU PROVEDOR/SERVIÇO DE E-MAIL E INFORME OS DADOS ABAIXO: \r\n", logEnvio.get_Erro()));
- malaDiretum3.set_InfoEnvio(str);
- item.set_ArquivoDigital(null);
- this.Lista = this.Lista;
- item = null;
- arquivoDigitals3 = null;
- i = j;
- }
- }
- else
- {
- while (!flag2)
- {
- List<MalaDireta> lista1 = this.Lista;
- List<MalaDireta> list = (
- from x in lista1
- where !x.get_Enviado().HasValue
- select x).Take<MalaDireta>(200).ToList<MalaDireta>();
- List<MalaDireta> malaDiretas1 = list;
- List<string> list1 = (
- from x in malaDiretas1
- select x.get_Email()).ToList<string>();
- list.ForEach((MalaDireta x) => {
- if (x.get_Copia() == null)
- {
- return;
- }
- list1.AddRange(x.get_Copia().get_CopiaComum());
- list1.AddRange(x.get_Copia().get_CopiaOculta());
- });
- list1 = list1.Distinct<string>().ToList<string>();
- Destinatario destinatario2 = new Destinatario();
- destinatario2.set_Assunto(assunto);
- destinatario2.set_Corpo(corpo);
- destinatario2.set_Email(credencial1.get_Email());
- destinatario2.set_Nome(credencial1.get_Descricao());
- destinatario2.set_Encaminhar(new List<string>());
- destinatario2.set_EncaminharOculto(list1);
- destinatario2.set_Anexos(arquivosAnexados.ToList<Gestor.Model.Domain.Common.ArquivoDigital>());
- Destinatario destinatario3 = destinatario2;
- LogEnvio logEnvio1 = await mailHelper.SendAsync(credencial, destinatario3, filtro, this.Lista.ToList<MalaDireta>(), 0, confirmarLeitura);
- LogEnvio logEnvio2 = logEnvio1;
- List<MalaDireta> list2 = this.Lista.ToList<MalaDireta>();
- list2.ForEach((MalaDireta x) => {
- x.set_Enviado(new bool?(logEnvio2.get_Enviado()));
- x.set_InfoEnvio((logEnvio2.get_Enviado() ? "ENVIADO COM SUCESSO" : string.Concat("NÃO ENVIADO, ENTRE EM CONTATO COM SEU PROVEDOR/SERVIÇO DE E-MAIL E INFORME OS DADOS ABAIXO: \r\n", logEnvio2.get_Erro())));
- });
- this.Lista = list2;
- List<MalaDireta> lista2 = this.Lista;
- flag2 = lista2.All<MalaDireta>((MalaDireta x) => x.get_Enviado().HasValue);
- }
- }
- this.PrepararLista();
- credencial1 = null;
- mailHelper = null;
- }
-
- private void PrepararLista()
- {
- List<MalaDireta> malaDiretas = new List<MalaDireta>();
- this.Lista.ForEach((MalaDireta x) => {
- malaDiretas.Add(x);
- if (x.get_Copia() == null)
- {
- return;
- }
- malaDiretas.AddRange(x.get_Copia().get_CopiaOculta().Select<string, MalaDireta>((string c) => {
- MalaDireta malaDiretum = new MalaDireta();
- malaDiretum.set_Cliente(x.get_Cliente());
- malaDiretum.set_Email(c);
- malaDiretum.set_Enviado(x.get_Enviado());
- malaDiretum.set_InfoEnvio(x.get_InfoEnvio());
- return malaDiretum;
- }).ToList<MalaDireta>());
- });
- this.ListaTela = new ObservableCollection<MalaDireta>(malaDiretas);
- }
- }
-} \ No newline at end of file