summaryrefslogtreecommitdiff
path: root/Decompiler/Gestor.Application.ViewModels.Ferramentas/MalaDiretaViewModel.cs
diff options
context:
space:
mode:
authorLucas Faria Mendes <lucas.fariamo08@gmail.com>2026-03-30 15:29:41 +0000
committerLucas Faria Mendes <lucas.fariamo08@gmail.com>2026-03-30 15:29:41 +0000
commit225aa1499e37faf9d38257caabbadc68d78b427e (patch)
tree102bb7a40c58595348ae9d3c7076201759fe0720 /Decompiler/Gestor.Application.ViewModels.Ferramentas/MalaDiretaViewModel.cs
parent1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1 (diff)
downloadgestor-225aa1499e37faf9d38257caabbadc68d78b427e.tar.gz
gestor-225aa1499e37faf9d38257caabbadc68d78b427e.zip
decompiler.com
Diffstat (limited to 'Decompiler/Gestor.Application.ViewModels.Ferramentas/MalaDiretaViewModel.cs')
-rw-r--r--Decompiler/Gestor.Application.ViewModels.Ferramentas/MalaDiretaViewModel.cs660
1 files changed, 660 insertions, 0 deletions
diff --git a/Decompiler/Gestor.Application.ViewModels.Ferramentas/MalaDiretaViewModel.cs b/Decompiler/Gestor.Application.ViewModels.Ferramentas/MalaDiretaViewModel.cs
new file mode 100644
index 0000000..7a47ab6
--- /dev/null
+++ b/Decompiler/Gestor.Application.ViewModels.Ferramentas/MalaDiretaViewModel.cs
@@ -0,0 +1,660 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+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.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;
+
+namespace Gestor.Application.ViewModels.Ferramentas;
+
+public class MalaDiretaViewModel : BaseSegurosViewModel
+{
+ private readonly MalaDiretaServico _servico;
+
+ private readonly FiltroArquivoDigital _filtro;
+
+ private ObservableCollection<MalaDireta> _malaDireta = new ObservableCollection<MalaDireta>();
+
+ private ObservableCollection<ComboVariavel> _variaveis = new ObservableCollection<ComboVariavel>();
+
+ private bool _enableCredencial;
+
+ private ObservableCollection<ComboModelo> _modelos = new ObservableCollection<ComboModelo>();
+
+ private ComboModelo _selectedModelo = new ComboModelo();
+
+ private ComboVariavel _selectedVariavel;
+
+ private string _assunto;
+
+ private string _corpo;
+
+ private ObservableCollection<Credencial> _credenciais = new ObservableCollection<Credencial>();
+
+ private Credencial _selectedCredencial = new Credencial();
+
+ private ObservableCollection<IndiceArquivoDigital> _arquivos = new ObservableCollection<IndiceArquivoDigital>();
+
+ private ObservableCollection<ArquivoDigital> _arquivosAnexados = new ObservableCollection<ArquivoDigital>();
+
+ private ArquivoDigital _selectedAnexado = new ArquivoDigital();
+
+ private Visibility _visibilitySalvarAnexos = (Visibility)1;
+
+ private bool _enviarOriginal;
+
+ private bool _salvarArquivoDigital;
+
+ private bool _assinatura;
+
+ public bool _confirmarLeitura;
+
+ public ObservableCollection<MalaDireta> MalaDireta
+ {
+ get
+ {
+ return _malaDireta;
+ }
+ set
+ {
+ _malaDireta = value;
+ OnPropertyChanged("MalaDireta");
+ }
+ }
+
+ public ObservableCollection<ComboVariavel> Variaveis
+ {
+ get
+ {
+ return _variaveis;
+ }
+ set
+ {
+ _variaveis = new ObservableCollection<ComboVariavel>(value.OrderBy((ComboVariavel x) => x.Indisponivel).ThenBy(delegate(ComboVariavel x)
+ {
+ //IL_0001: Unknown result type (might be due to invalid IL or missing references)
+ //IL_0006: Unknown result type (might be due to invalid IL or missing references)
+ VariaveisMalaDireta variaveisMalaDireta = x.VariaveisMalaDireta;
+ return ((object)(VariaveisMalaDireta)(ref variaveisMalaDireta)).ToString();
+ }));
+ OnPropertyChanged("Variaveis");
+ }
+ }
+
+ public bool EnableCredencial
+ {
+ get
+ {
+ return _enableCredencial;
+ }
+ set
+ {
+ _enableCredencial = value;
+ OnPropertyChanged("EnableCredencial");
+ }
+ }
+
+ public ObservableCollection<ComboModelo> Modelos
+ {
+ get
+ {
+ return _modelos;
+ }
+ set
+ {
+ List<string> source = ((VariaveisMalaDireta[])Enum.GetValues(typeof(VariaveisMalaDireta))).Select((VariaveisMalaDireta variavel) => ValidationHelper.GetEntity((Enum)(object)variavel)).ToList();
+ List<string> variaveisPermitidas = (from x in Variaveis
+ where !x.Indisponivel
+ select x into v
+ select ValidationHelper.GetEntity((Enum)(object)v.VariaveisMalaDireta)).ToList();
+ List<ComboModelo> list = new List<ComboModelo>();
+ foreach (ComboModelo item2 in value)
+ {
+ if (source.Where(item2.ModeloMalaDireta.Corpo.Contains).All((string s) => variaveisPermitidas.Contains(s)))
+ {
+ list.Add(item2);
+ continue;
+ }
+ ComboModelo item = new ComboModelo
+ {
+ ModeloMalaDireta = item2.ModeloMalaDireta,
+ Indisponivel = true
+ };
+ list.Add(item);
+ }
+ _modelos = new ObservableCollection<ComboModelo>(from x in list
+ orderby x.Indisponivel, x.ModeloMalaDireta.Assunto
+ select x);
+ OnPropertyChanged("Modelos");
+ }
+ }
+
+ public ComboModelo SelectedModelo
+ {
+ get
+ {
+ return _selectedModelo;
+ }
+ set
+ {
+ _selectedModelo = value;
+ VerificarEnables((value != null) ? new long?(((DomainBase)value.ModeloMalaDireta).Id) : null);
+ WorkOnSelectedModelo(value?.ModeloMalaDireta);
+ OnPropertyChanged("SelectedModelo");
+ }
+ }
+
+ public ComboVariavel SelectedVariavel
+ {
+ get
+ {
+ return _selectedVariavel;
+ }
+ set
+ {
+ _selectedVariavel = value;
+ OnPropertyChanged("SelectedVariavel");
+ }
+ }
+
+ public string Assunto
+ {
+ get
+ {
+ return _assunto;
+ }
+ set
+ {
+ _assunto = value;
+ OnPropertyChanged("Assunto");
+ }
+ }
+
+ public string Corpo
+ {
+ get
+ {
+ return _corpo;
+ }
+ set
+ {
+ _corpo = value;
+ OnPropertyChanged("Corpo");
+ }
+ }
+
+ public ObservableCollection<Credencial> Credenciais
+ {
+ get
+ {
+ return _credenciais;
+ }
+ set
+ {
+ _credenciais = value;
+ OnPropertyChanged("Credenciais");
+ }
+ }
+
+ public Credencial SelectedCredencial
+ {
+ get
+ {
+ return _selectedCredencial;
+ }
+ set
+ {
+ _selectedCredencial = value;
+ OnPropertyChanged("SelectedCredencial");
+ }
+ }
+
+ public ObservableCollection<IndiceArquivoDigital> Arquivos
+ {
+ get
+ {
+ return _arquivos;
+ }
+ set
+ {
+ _arquivos = value;
+ OnPropertyChanged("Arquivos");
+ }
+ }
+
+ public ObservableCollection<ArquivoDigital> ArquivosAnexados
+ {
+ get
+ {
+ return _arquivosAnexados;
+ }
+ set
+ {
+ _arquivosAnexados = value;
+ OnPropertyChanged("ArquivosAnexados");
+ }
+ }
+
+ public ArquivoDigital SelectedAnexado
+ {
+ get
+ {
+ return _selectedAnexado;
+ }
+ set
+ {
+ _selectedAnexado = value;
+ OnPropertyChanged("SelectedAnexado");
+ }
+ }
+
+ public Visibility VisibilitySalvarAnexos
+ {
+ get
+ {
+ //IL_0001: Unknown result type (might be due to invalid IL or missing references)
+ return _visibilitySalvarAnexos;
+ }
+ 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)
+ _visibilitySalvarAnexos = value;
+ OnPropertyChanged("VisibilitySalvarAnexos");
+ }
+ }
+
+ public bool EnviarOriginal
+ {
+ get
+ {
+ return _enviarOriginal;
+ }
+ set
+ {
+ _enviarOriginal = value;
+ OnPropertyChanged("EnviarOriginal");
+ }
+ }
+
+ public bool SalvarArquivoDigital
+ {
+ get
+ {
+ return _salvarArquivoDigital;
+ }
+ set
+ {
+ _salvarArquivoDigital = value;
+ OnPropertyChanged("SalvarArquivoDigital");
+ }
+ }
+
+ public bool Assinatura
+ {
+ get
+ {
+ return _assinatura;
+ }
+ set
+ {
+ _assinatura = value;
+ OnPropertyChanged("Assinatura");
+ }
+ }
+
+ public bool ConfirmarLeitura
+ {
+ get
+ {
+ return _confirmarLeitura;
+ }
+ set
+ {
+ _confirmarLeitura = value;
+ }
+ }
+
+ public bool Enviado { get; set; }
+
+ public MalaDiretaViewModel(FiltroArquivoDigital filtro = null)
+ {
+ //IL_0038: Unknown result type (might be due to invalid IL or missing references)
+ //IL_0042: Expected O, but got Unknown
+ //IL_0059: Unknown result type (might be due to invalid IL or missing references)
+ //IL_0063: Expected O, but got Unknown
+ //IL_0065: Unknown result type (might be due to invalid IL or missing references)
+ _servico = new MalaDiretaServico();
+ _filtro = filtro;
+ BuscarCredenciais();
+ }
+
+ private async void BuscarCredenciais()
+ {
+ await PermissaoTela((TipoTela)39);
+ VerificarEnables(null);
+ Credenciais = new ObservableCollection<Credencial>((await new BaseServico().BuscarCredenciais()).OrderBy((Credencial x) => x.Descricao));
+ EnableCredencial = !Restricao((TipoRestricao)110);
+ SelectedCredencial = (EnableCredencial ? (((IEnumerable<Credencial>)Credenciais).FirstOrDefault((Func<Credencial, bool>)((Credencial x) => x.IdUsuario == ((DomainBase)Recursos.Usuario).Id)) ?? Credenciais.FirstOrDefault()) : ((IEnumerable<Credencial>)Credenciais).FirstOrDefault((Func<Credencial, bool>)((Credencial x) => x.IdUsuario == ((DomainBase)Recursos.Usuario).Id)));
+ }
+
+ private async Task CarregarModelos(ModeloMalaDireta modelo = null)
+ {
+ List<ModeloMalaDireta> obj = await _servico.BuscarModelos();
+ List<ComboModelo> list = new List<ComboModelo>();
+ foreach (ModeloMalaDireta item in obj)
+ {
+ list.Add(new ComboModelo
+ {
+ ModeloMalaDireta = item
+ });
+ }
+ Modelos = new ObservableCollection<ComboModelo>(list);
+ if (modelo != null)
+ {
+ SelectedModelo = Modelos.FirstOrDefault((ComboModelo x) => ((DomainBase)x.ModeloMalaDireta).Id == ((DomainBase)modelo).Id);
+ }
+ }
+
+ private void WorkOnSelectedModelo(ModeloMalaDireta value)
+ {
+ if (value != null)
+ {
+ Corpo = SelectedModelo.ModeloMalaDireta.Corpo;
+ Assunto = SelectedModelo.ModeloMalaDireta.Assunto;
+ }
+ }
+
+ public async void Anexar()
+ {
+ List<ArquivoDigital> attacheds = ((IEnumerable<IndiceArquivoDigital>)Arquivos).Select((Func<IndiceArquivoDigital, ArquivoDigital>)((IndiceArquivoDigital x) => new ArquivoDigital
+ {
+ Descricao = x.Descricao,
+ Extensao = x.Extensao
+ })).ToList();
+ List<ArquivoDigital> list = await AddAttachments(ArquivosAnexados.ToList(), attacheds);
+ if (list != null)
+ {
+ list.AddRange(ArquivosAnexados);
+ ArquivosAnexados = new ObservableCollection<ArquivoDigital>(list);
+ }
+ }
+
+ public async Task<bool> Enviar()
+ {
+ if (string.IsNullOrWhiteSpace(Corpo) || string.IsNullOrWhiteSpace(Assunto))
+ {
+ await ShowMessage("NECESSÁRIO CONTER ASSUNTO E MENSAGEM PARA PROSSEGUIR.");
+ return false;
+ }
+ if (SelectedCredencial == null || ((DomainBase)SelectedCredencial).Id == 0L)
+ {
+ await ShowMessage("NECESSÁRIO SELECIONAR O E-MAIL DE ENVIO PARA PROSSEGUIR.");
+ return false;
+ }
+ List<MalaDireta> list = MalaDireta.Where((MalaDireta x) => x.Selecionado).ToList();
+ if (list.Count == 0)
+ {
+ await ShowMessage("NECESSÁRIO SELECIONAR AO MENOS UM DESTINATÁRIO PARA PROSSEGUIR.");
+ return false;
+ }
+ await ShowEnviarEmailsDialog(list, Assinatura, EnviarOriginal, ArquivosAnexados.ToList(), Assunto, Corpo, SelectedCredencial, _filtro, SalvarArquivoDigital, ConfirmarLeitura);
+ Enviado = true;
+ return true;
+ }
+
+ public async Task CarregarEmails(List<MalaDireta> maladireta, string assunto = null, string corpo = null)
+ {
+ ClienteServico clienteServico = new ClienteServico();
+ List<long> list = (from x in maladireta
+ where x.Cliente != null
+ select ((DomainBase)x.Cliente).Id).ToList();
+ VisibilitySalvarAnexos = (Visibility)(list.Count > 1);
+ List<ClienteEmail> emails = await clienteServico.BuscarEmailsPorCliente(list);
+ List<MalaDireta> maladiretacompleta = new List<MalaDireta>();
+ maladireta.ForEach(delegate(MalaDireta x)
+ {
+ //IL_0105: Unknown result type (might be due to invalid IL or missing references)
+ //IL_010b: Expected O, but got Unknown
+ //IL_0120: Unknown result type (might be due to invalid IL or missing references)
+ //IL_0125: Unknown result type (might be due to invalid IL or missing references)
+ //IL_013b: Unknown result type (might be due to invalid IL or missing references)
+ if (x.Cliente != null)
+ {
+ Assinatura = Assinatura || (x.ArquivoDigital != null && x.ArquivoDigital.Any((IndiceArquivoDigital a) => !string.IsNullOrEmpty(a.UrlAssinatura) && !a.Assinado));
+ List<ClienteEmail> source = emails.Where((ClienteEmail e) => ((DomainBase)e.Cliente).Id == ((DomainBase)x.Cliente).Id).ToList();
+ int index = 0;
+ source.OrderBy((ClienteEmail o) => o.Ordem.GetValueOrDefault()).ToList().ForEach(delegate(ClienteEmail e)
+ {
+ //IL_00c7: Unknown result type (might be due to invalid IL or missing references)
+ //IL_00cd: Expected O, but got Unknown
+ //IL_0051: Unknown result type (might be due to invalid IL or missing references)
+ //IL_0057: Expected O, but got Unknown
+ x.Selecionado = string.IsNullOrWhiteSpace(x.Email) && x.Cliente.MalaDireta.GetValueOrDefault(true);
+ if (index > 0)
+ {
+ MalaDireta val2 = new MalaDireta();
+ DomainBase.Copy<MalaDireta, MalaDireta>(val2, x);
+ val2.Email = ((EmailBase)e).Email;
+ val2.Selecionado = false;
+ maladiretacompleta.Add(val2);
+ }
+ else
+ {
+ x.Email = ((EmailBase)e).Email;
+ x.Ordem = e.Ordem.GetValueOrDefault();
+ MalaDireta val3 = new MalaDireta();
+ DomainBase.Copy<MalaDireta, MalaDireta>(val3, x);
+ maladiretacompleta.Add(val3);
+ }
+ index++;
+ });
+ }
+ if (x.Prospeccao != null)
+ {
+ MalaDireta val = new MalaDireta();
+ x.Cliente = (Cliente)(((object)x.Cliente) ?? ((object)new Cliente
+ {
+ Nome = x.Prospeccao.Nome,
+ Documento = x.Prospeccao.Documento
+ }));
+ if (string.IsNullOrEmpty(x.Cliente.Documento))
+ {
+ x.Cliente.Documento = x.Prospeccao.Documento;
+ }
+ x.Email = x.Prospeccao.Email;
+ x.Ordem = 0;
+ x.Selecionado = true;
+ DomainBase.Copy<MalaDireta, MalaDireta>(val, x);
+ maladiretacompleta.Add(val);
+ }
+ });
+ MalaDireta = new ObservableCollection<MalaDireta>(from x in maladiretacompleta
+ orderby x.Cliente.Nome, x.Ordem
+ select x);
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)18, indisponivel: false));
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)0, indisponivel: false));
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)1, indisponivel: false));
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)2, indisponivel: false));
+ Variaveis.Add(MalaDireta.Any((MalaDireta x) => x.Cliente.VencimentoHabilitacao.HasValue) ? new ComboVariavel((VariaveisMalaDireta)16, indisponivel: false) : new ComboVariavel((VariaveisMalaDireta)16, indisponivel: true));
+ if (MalaDireta.Any((MalaDireta x) => x.Cliente.Nascimento.HasValue))
+ {
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)14, indisponivel: false));
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)15, indisponivel: false));
+ }
+ else
+ {
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)14, indisponivel: true));
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)15, indisponivel: true));
+ }
+ Variaveis.Add(MalaDireta.Any((MalaDireta x) => x.ArquivoDigital != null && x.ArquivoDigital.Any((IndiceArquivoDigital z) => !string.IsNullOrWhiteSpace(z.UrlAssinatura))) ? new ComboVariavel((VariaveisMalaDireta)17, indisponivel: false) : new ComboVariavel((VariaveisMalaDireta)17, indisponivel: true));
+ if (MalaDireta.All((MalaDireta x) => x.Apolice != null))
+ {
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)3, indisponivel: false));
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)4, indisponivel: false));
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)7, indisponivel: false));
+ Variaveis.Add(MalaDireta.Any((MalaDireta x) => x.Apolice.Vigencia2.HasValue) ? new ComboVariavel((VariaveisMalaDireta)8, indisponivel: false) : new ComboVariavel((VariaveisMalaDireta)8, indisponivel: true));
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)19, indisponivel: false));
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)23, indisponivel: false));
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)24, indisponivel: false));
+ if (MalaDireta.Any((MalaDireta x) => x.Apolice.Controle != null))
+ {
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)5, indisponivel: false));
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)6, indisponivel: false));
+ }
+ else
+ {
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)5, indisponivel: true));
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)6, indisponivel: true));
+ }
+ }
+ else
+ {
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)19, indisponivel: true));
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)3, indisponivel: true));
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)4, indisponivel: true));
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)7, indisponivel: true));
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)8, indisponivel: true));
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)5, indisponivel: true));
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)6, indisponivel: true));
+ }
+ if (MalaDireta.All((MalaDireta x) => x.Parcela != null))
+ {
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)9, indisponivel: false));
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)10, indisponivel: false));
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)13, indisponivel: false));
+ }
+ else
+ {
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)9, indisponivel: true));
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)10, indisponivel: true));
+ Variaveis.Add(new ComboVariavel((VariaveisMalaDireta)13, indisponivel: true));
+ }
+ Variaveis.Add(MalaDireta.All((MalaDireta x) => x.Item != null) ? new ComboVariavel((VariaveisMalaDireta)11, indisponivel: false) : new ComboVariavel((VariaveisMalaDireta)11, indisponivel: true));
+ Variaveis.Add(MalaDireta.All((MalaDireta x) => x.Sinistro != null) ? new ComboVariavel((VariaveisMalaDireta)12, indisponivel: false) : new ComboVariavel((VariaveisMalaDireta)12, indisponivel: true));
+ Variaveis = new ObservableCollection<ComboVariavel>(Variaveis);
+ Variaveis.Add(MalaDireta.Any(delegate(MalaDireta x)
+ {
+ Documento apolice3 = x.Apolice;
+ if (apolice3 == null)
+ {
+ return false;
+ }
+ _ = apolice3.PremioLiquido;
+ return true;
+ }) ? new ComboVariavel((VariaveisMalaDireta)20, indisponivel: false) : new ComboVariavel((VariaveisMalaDireta)20, indisponivel: true));
+ Variaveis.Add(MalaDireta.Any(delegate(MalaDireta x)
+ {
+ Documento apolice2 = x.Apolice;
+ if (apolice2 == null)
+ {
+ return false;
+ }
+ _ = apolice2.PremioTotal;
+ return true;
+ }) ? new ComboVariavel((VariaveisMalaDireta)21, indisponivel: false) : new ComboVariavel((VariaveisMalaDireta)21, indisponivel: true));
+ Variaveis.Add(MalaDireta.Any(delegate(MalaDireta x)
+ {
+ Documento apolice = x.Apolice;
+ return apolice != null && apolice.FormaPagamento.HasValue;
+ }) ? new ComboVariavel((VariaveisMalaDireta)22, indisponivel: false) : new ComboVariavel((VariaveisMalaDireta)22, indisponivel: true));
+ await CarregarModelos();
+ if (assunto != null)
+ {
+ Assunto = assunto;
+ }
+ if (corpo != null)
+ {
+ Corpo = corpo;
+ }
+ }
+
+ public void Selecionar()
+ {
+ MalaDireta.ToList().ForEach(delegate(MalaDireta x)
+ {
+ x.Selecionado = !x.Selecionado;
+ });
+ MalaDireta = new ObservableCollection<MalaDireta>(MalaDireta);
+ }
+
+ public void Delete(ArquivoDigital arquivo)
+ {
+ if (SelectedAnexado != null)
+ {
+ ArquivoDigital item = ArquivosAnexados.First((ArquivoDigital x) => x.Descricao == arquivo.Descricao);
+ ArquivosAnexados.Remove(item);
+ ArquivosAnexados = new ObservableCollection<ArquivoDigital>(ArquivosAnexados);
+ }
+ }
+
+ public void Incluir()
+ {
+ SelectedModelo = new ComboModelo();
+ Corpo = string.Empty;
+ Alterar(alterar: true);
+ }
+
+ public void CancelarAlteracao()
+ {
+ Alterar(alterar: false);
+ SelectedModelo = null;
+ }
+
+ public async Task<List<KeyValuePair<string, string>>> Salvar()
+ {
+ if (SelectedModelo == null)
+ {
+ SelectedModelo = new ComboModelo
+ {
+ ModeloMalaDireta = new ModeloMalaDireta
+ {
+ Assunto = Assunto,
+ Corpo = Corpo
+ }
+ };
+ }
+ else
+ {
+ SelectedModelo.ModeloMalaDireta.Assunto = Assunto;
+ SelectedModelo.ModeloMalaDireta.Corpo = Corpo;
+ }
+ List<KeyValuePair<string, string>> list = SelectedModelo.ModeloMalaDireta.Validate();
+ if (list.Count > 0)
+ {
+ return list;
+ }
+ ModeloMalaDireta modelo = await _servico.Save(SelectedModelo.ModeloMalaDireta);
+ if (!_servico.Sucesso)
+ {
+ return null;
+ }
+ Alterar(alterar: false);
+ await CarregarModelos(modelo);
+ ToggleSnackBar("MODELO SALVO COM SUCESSO");
+ return null;
+ }
+
+ public async void Excluir()
+ {
+ if (SelectedModelo != null && ((DomainBase)SelectedModelo.ModeloMalaDireta).Id != 0L && await ShowMessage("DESEJA REALMENTE EXCLUIR O MODELO?", "SIM", "NÃO") && await _servico.Delete(SelectedModelo.ModeloMalaDireta))
+ {
+ RegistrarAcao("EXCLUIU MODELO " + SelectedModelo.ModeloMalaDireta.Assunto, ((DomainBase)SelectedModelo.ModeloMalaDireta).Id, (TipoTela)39);
+ await CarregarModelos();
+ SelectedModelo = null;
+ ToggleSnackBar("MODELO EXCLUÍDO COM SUCESSO");
+ }
+ }
+}