diff options
Diffstat (limited to 'Codemerx/Gestor.Application/ViewModels/Ferramentas/MalaDiretaViewModel.cs')
| -rw-r--r-- | Codemerx/Gestor.Application/ViewModels/Ferramentas/MalaDiretaViewModel.cs | 821 |
1 files changed, 821 insertions, 0 deletions
diff --git a/Codemerx/Gestor.Application/ViewModels/Ferramentas/MalaDiretaViewModel.cs b/Codemerx/Gestor.Application/ViewModels/Ferramentas/MalaDiretaViewModel.cs new file mode 100644 index 0000000..0009fb4 --- /dev/null +++ b/Codemerx/Gestor.Application/ViewModels/Ferramentas/MalaDiretaViewModel.cs @@ -0,0 +1,821 @@ +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;
+using System;
+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.Ferramentas
+{
+ public class MalaDiretaViewModel : BaseSegurosViewModel
+ {
+ private readonly MalaDiretaServico _servico;
+
+ private readonly FiltroArquivoDigital _filtro;
+
+ private ObservableCollection<Gestor.Model.Domain.MalaDireta.MalaDireta> _malaDireta = new ObservableCollection<Gestor.Model.Domain.MalaDireta.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<Gestor.Model.Domain.Common.ArquivoDigital> _arquivosAnexados = new ObservableCollection<Gestor.Model.Domain.Common.ArquivoDigital>();
+
+ private Gestor.Model.Domain.Common.ArquivoDigital _selectedAnexado = new Gestor.Model.Domain.Common.ArquivoDigital();
+
+ private Visibility _visibilitySalvarAnexos = Visibility.Hidden;
+
+ private bool _enviarOriginal;
+
+ private bool _salvarArquivoDigital;
+
+ private bool _assinatura;
+
+ public bool _confirmarLeitura;
+
+ public ObservableCollection<IndiceArquivoDigital> Arquivos
+ {
+ get
+ {
+ return this._arquivos;
+ }
+ set
+ {
+ this._arquivos = value;
+ base.OnPropertyChanged("Arquivos");
+ }
+ }
+
+ public ObservableCollection<Gestor.Model.Domain.Common.ArquivoDigital> ArquivosAnexados
+ {
+ get
+ {
+ return this._arquivosAnexados;
+ }
+ set
+ {
+ this._arquivosAnexados = value;
+ base.OnPropertyChanged("ArquivosAnexados");
+ }
+ }
+
+ public bool Assinatura
+ {
+ get
+ {
+ return this._assinatura;
+ }
+ set
+ {
+ this._assinatura = value;
+ base.OnPropertyChanged("Assinatura");
+ }
+ }
+
+ public string Assunto
+ {
+ get
+ {
+ return this._assunto;
+ }
+ set
+ {
+ this._assunto = value;
+ base.OnPropertyChanged("Assunto");
+ }
+ }
+
+ public bool ConfirmarLeitura
+ {
+ get
+ {
+ return this._confirmarLeitura;
+ }
+ set
+ {
+ this._confirmarLeitura = value;
+ }
+ }
+
+ public string Corpo
+ {
+ get
+ {
+ return this._corpo;
+ }
+ set
+ {
+ this._corpo = value;
+ base.OnPropertyChanged("Corpo");
+ }
+ }
+
+ public ObservableCollection<Credencial> Credenciais
+ {
+ get
+ {
+ return this._credenciais;
+ }
+ set
+ {
+ this._credenciais = value;
+ base.OnPropertyChanged("Credenciais");
+ }
+ }
+
+ public bool EnableCredencial
+ {
+ get
+ {
+ return this._enableCredencial;
+ }
+ set
+ {
+ this._enableCredencial = value;
+ base.OnPropertyChanged("EnableCredencial");
+ }
+ }
+
+ public bool Enviado
+ {
+ get;
+ set;
+ }
+
+ public bool EnviarOriginal
+ {
+ get
+ {
+ return this._enviarOriginal;
+ }
+ set
+ {
+ this._enviarOriginal = value;
+ base.OnPropertyChanged("EnviarOriginal");
+ }
+ }
+
+ public ObservableCollection<Gestor.Model.Domain.MalaDireta.MalaDireta> MalaDireta
+ {
+ get
+ {
+ return this._malaDireta;
+ }
+ set
+ {
+ this._malaDireta = value;
+ base.OnPropertyChanged("MalaDireta");
+ }
+ }
+
+ public ObservableCollection<ComboModelo> Modelos
+ {
+ get
+ {
+ return this._modelos;
+ }
+ set
+ {
+ Func<string, bool> func = null;
+ List<string> list = (
+ from variavel in (VariaveisMalaDireta[])Enum.GetValues(typeof(VariaveisMalaDireta))
+ select ValidationHelper.GetEntity(variavel)).ToList<string>();
+ List<string> strs = (
+ from x in this.Variaveis
+ where !x.Indisponivel
+ select x into v
+ select ValidationHelper.GetEntity(v.VariaveisMalaDireta)).ToList<string>();
+ List<ComboModelo> comboModelos = new List<ComboModelo>();
+ foreach (ComboModelo comboModelo in value)
+ {
+ IEnumerable<string> strs1 = list.Where<string>(new Func<string, bool>(comboModelo.ModeloMalaDireta.get_Corpo().Contains));
+ Func<string, bool> func1 = func;
+ if (func1 == null)
+ {
+ Func<string, bool> func2 = (string s) => strs.Contains(s);
+ Func<string, bool> func3 = func2;
+ func = func2;
+ func1 = func3;
+ }
+ if (!strs1.All<string>(func1))
+ {
+ comboModelos.Add(new ComboModelo()
+ {
+ ModeloMalaDireta = comboModelo.ModeloMalaDireta,
+ Indisponivel = true
+ });
+ }
+ else
+ {
+ comboModelos.Add(comboModelo);
+ }
+ }
+ this._modelos = new ObservableCollection<ComboModelo>(
+ from x in comboModelos
+ orderby x.Indisponivel, x.ModeloMalaDireta.get_Assunto()
+ select x);
+ base.OnPropertyChanged("Modelos");
+ }
+ }
+
+ public bool SalvarArquivoDigital
+ {
+ get
+ {
+ return this._salvarArquivoDigital;
+ }
+ set
+ {
+ this._salvarArquivoDigital = value;
+ base.OnPropertyChanged("SalvarArquivoDigital");
+ }
+ }
+
+ public Gestor.Model.Domain.Common.ArquivoDigital SelectedAnexado
+ {
+ get
+ {
+ return this._selectedAnexado;
+ }
+ set
+ {
+ this._selectedAnexado = value;
+ base.OnPropertyChanged("SelectedAnexado");
+ }
+ }
+
+ public Credencial SelectedCredencial
+ {
+ get
+ {
+ return this._selectedCredencial;
+ }
+ set
+ {
+ this._selectedCredencial = value;
+ base.OnPropertyChanged("SelectedCredencial");
+ }
+ }
+
+ public ComboModelo SelectedModelo
+ {
+ get
+ {
+ return this._selectedModelo;
+ }
+ set
+ {
+ long? nullable;
+ ModeloMalaDireta modeloMalaDireta;
+ this._selectedModelo = value;
+ if (value != null)
+ {
+ nullable = new long?(value.ModeloMalaDireta.get_Id());
+ }
+ else
+ {
+ nullable = null;
+ }
+ base.VerificarEnables(nullable);
+ if (value != null)
+ {
+ modeloMalaDireta = value.ModeloMalaDireta;
+ }
+ else
+ {
+ modeloMalaDireta = null;
+ }
+ this.WorkOnSelectedModelo(modeloMalaDireta);
+ base.OnPropertyChanged("SelectedModelo");
+ }
+ }
+
+ public ComboVariavel SelectedVariavel
+ {
+ get
+ {
+ return this._selectedVariavel;
+ }
+ set
+ {
+ this._selectedVariavel = value;
+ base.OnPropertyChanged("SelectedVariavel");
+ }
+ }
+
+ public ObservableCollection<ComboVariavel> Variaveis
+ {
+ get
+ {
+ return this._variaveis;
+ }
+ set
+ {
+ this._variaveis = new ObservableCollection<ComboVariavel>(
+ from x in value
+ orderby x.Indisponivel, x.VariaveisMalaDireta.ToString()
+ select x);
+ base.OnPropertyChanged("Variaveis");
+ }
+ }
+
+ public Visibility VisibilitySalvarAnexos
+ {
+ get
+ {
+ return this._visibilitySalvarAnexos;
+ }
+ set
+ {
+ this._visibilitySalvarAnexos = value;
+ base.OnPropertyChanged("VisibilitySalvarAnexos");
+ }
+ }
+
+ public MalaDiretaViewModel(FiltroArquivoDigital filtro = null)
+ {
+ this._servico = new MalaDiretaServico();
+ this._filtro = filtro;
+ this.BuscarCredenciais();
+ }
+
+ public async void Anexar()
+ {
+ ObservableCollection<IndiceArquivoDigital> arquivos = this.Arquivos;
+ List<Gestor.Model.Domain.Common.ArquivoDigital> list = arquivos.Select<IndiceArquivoDigital, Gestor.Model.Domain.Common.ArquivoDigital>((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<Gestor.Model.Domain.Common.ArquivoDigital>();
+ List<Gestor.Model.Domain.Common.ArquivoDigital> arquivoDigitals = await base.AddAttachments(this.ArquivosAnexados.ToList<Gestor.Model.Domain.Common.ArquivoDigital>(), list);
+ if (arquivoDigitals != null)
+ {
+ arquivoDigitals.AddRange(this.ArquivosAnexados);
+ this.ArquivosAnexados = new ObservableCollection<Gestor.Model.Domain.Common.ArquivoDigital>(arquivoDigitals);
+ }
+ }
+
+ private async void BuscarCredenciais()
+ {
+ Credencial credencial;
+ await base.PermissaoTela(39);
+ base.VerificarEnables(null);
+ List<Credencial> credencials = await (new BaseServico()).BuscarCredenciais();
+ MalaDiretaViewModel observableCollection = this;
+ List<Credencial> credencials1 = credencials;
+ observableCollection.Credenciais = new ObservableCollection<Credencial>(
+ from x in credencials1
+ orderby x.get_Descricao()
+ select x);
+ this.EnableCredencial = !base.Restricao(110);
+ MalaDiretaViewModel malaDiretaViewModel = this;
+ if (this.EnableCredencial)
+ {
+ ObservableCollection<Credencial> credenciais = this.Credenciais;
+ credencial = credenciais.FirstOrDefault<Credencial>((Credencial x) => x.get_IdUsuario() == Recursos.Usuario.get_Id());
+ if (credencial == null)
+ {
+ credencial = this.Credenciais.FirstOrDefault<Credencial>();
+ }
+ }
+ else
+ {
+ ObservableCollection<Credencial> credenciais1 = this.Credenciais;
+ credencial = credenciais1.FirstOrDefault<Credencial>((Credencial x) => x.get_IdUsuario() == Recursos.Usuario.get_Id());
+ }
+ malaDiretaViewModel.SelectedCredencial = credencial;
+ }
+
+ public void CancelarAlteracao()
+ {
+ base.Alterar(false);
+ this.SelectedModelo = null;
+ }
+
+ public async Task CarregarEmails(List<Gestor.Model.Domain.MalaDireta.MalaDireta> maladireta, string assunto = null, string corpo = null)
+ {
+ Visibility visibility;
+ ComboVariavel comboVariavel;
+ ComboVariavel comboVariavel1;
+ ComboVariavel comboVariavel2;
+ ComboVariavel comboVariavel3;
+ ComboVariavel comboVariavel4;
+ ComboVariavel comboVariavel5;
+ ComboVariavel comboVariavel6;
+ ComboVariavel comboVariavel7;
+ ClienteServico clienteServico = new ClienteServico();
+ List<Gestor.Model.Domain.MalaDireta.MalaDireta> malaDiretas = maladireta;
+ IEnumerable<Gestor.Model.Domain.MalaDireta.MalaDireta> malaDiretas1 =
+ from x in malaDiretas
+ where x.get_Cliente() != null
+ select x;
+ List<long> nums = (
+ from x in malaDiretas1
+ select x.get_Cliente().get_Id()).ToList<long>();
+ MalaDiretaViewModel malaDiretaViewModel = this;
+ visibility = (nums.Count > 1 ? Visibility.Hidden : Visibility.Visible);
+ malaDiretaViewModel.VisibilitySalvarAnexos = visibility;
+ List<ClienteEmail> clienteEmails = await clienteServico.BuscarEmailsPorCliente(nums);
+ List<Gestor.Model.Domain.MalaDireta.MalaDireta> malaDiretas2 = new List<Gestor.Model.Domain.MalaDireta.MalaDireta>();
+ maladireta.ForEach((Gestor.Model.Domain.MalaDireta.MalaDireta x) => {
+ bool flag;
+ if (x.get_Cliente() != null)
+ {
+ MalaDiretaViewModel u003cu003e4_this = this;
+ if (this.Assinatura)
+ {
+ flag = true;
+ }
+ else if (x.get_ArquivoDigital() == null)
+ {
+ flag = false;
+ }
+ else
+ {
+ List<IndiceArquivoDigital> arquivoDigital = x.get_ArquivoDigital();
+ Func<IndiceArquivoDigital, bool> u003cu003e9_8417 = MalaDiretaViewModel.u003cu003ec.u003cu003e9__84_17;
+ if (u003cu003e9_8417 == null)
+ {
+ u003cu003e9_8417 = (IndiceArquivoDigital a) => {
+ if (string.IsNullOrEmpty(a.get_UrlAssinatura()))
+ {
+ return false;
+ }
+ return !a.get_Assinado();
+ };
+ MalaDiretaViewModel.u003cu003ec.u003cu003e9__84_17 = u003cu003e9_8417;
+ }
+ flag = arquivoDigital.Any<IndiceArquivoDigital>(u003cu003e9_8417);
+ }
+ u003cu003e4_this.Assinatura = flag;
+ List<ClienteEmail> list = (
+ from e in clienteEmails
+ where e.get_Cliente().get_Id() == this.x.get_Cliente().get_Id()
+ select e).ToList<ClienteEmail>();
+ int num = 0;
+ Func<ClienteEmail, int> u003cu003e9_8419 = MalaDiretaViewModel.u003cu003ec.u003cu003e9__84_19;
+ if (u003cu003e9_8419 == null)
+ {
+ u003cu003e9_8419 = (ClienteEmail o) => o.get_Ordem().GetValueOrDefault();
+ MalaDiretaViewModel.u003cu003ec.u003cu003e9__84_19 = u003cu003e9_8419;
+ }
+ list.OrderBy<ClienteEmail, int>(u003cu003e9_8419).ToList<ClienteEmail>().ForEach((ClienteEmail e) => {
+ x.set_Selecionado((!string.IsNullOrWhiteSpace(x.get_Email()) ? false : x.get_Cliente().get_MalaDireta().GetValueOrDefault(true)));
+ if (num <= 0)
+ {
+ x.set_Email(e.get_Email());
+ x.set_Ordem(e.get_Ordem().GetValueOrDefault());
+ Gestor.Model.Domain.MalaDireta.MalaDireta malaDiretum = new Gestor.Model.Domain.MalaDireta.MalaDireta();
+ DomainBase.Copy<Gestor.Model.Domain.MalaDireta.MalaDireta, Gestor.Model.Domain.MalaDireta.MalaDireta>(malaDiretum, x);
+ malaDiretas2.Add(malaDiretum);
+ }
+ else
+ {
+ Gestor.Model.Domain.MalaDireta.MalaDireta malaDiretum1 = new Gestor.Model.Domain.MalaDireta.MalaDireta();
+ DomainBase.Copy<Gestor.Model.Domain.MalaDireta.MalaDireta, Gestor.Model.Domain.MalaDireta.MalaDireta>(malaDiretum1, x);
+ malaDiretum1.set_Email(e.get_Email());
+ malaDiretum1.set_Selecionado(false);
+ malaDiretas2.Add(malaDiretum1);
+ }
+ num++;
+ });
+ }
+ if (x.get_Prospeccao() == null)
+ {
+ return;
+ }
+ Gestor.Model.Domain.MalaDireta.MalaDireta malaDiretum2 = new Gestor.Model.Domain.MalaDireta.MalaDireta();
+ Gestor.Model.Domain.MalaDireta.MalaDireta malaDiretum3 = x;
+ Cliente cliente = x.get_Cliente();
+ if (cliente == null)
+ {
+ cliente = new Cliente();
+ cliente.set_Nome(x.get_Prospeccao().get_Nome());
+ cliente.set_Documento(x.get_Prospeccao().get_Documento());
+ }
+ malaDiretum3.set_Cliente(cliente);
+ if (string.IsNullOrEmpty(x.get_Cliente().get_Documento()))
+ {
+ x.get_Cliente().set_Documento(x.get_Prospeccao().get_Documento());
+ }
+ x.set_Email(x.get_Prospeccao().get_Email());
+ x.set_Ordem(0);
+ x.set_Selecionado(true);
+ DomainBase.Copy<Gestor.Model.Domain.MalaDireta.MalaDireta, Gestor.Model.Domain.MalaDireta.MalaDireta>(malaDiretum2, x);
+ malaDiretas2.Add(malaDiretum2);
+ });
+ MalaDiretaViewModel observableCollection = this;
+ List<Gestor.Model.Domain.MalaDireta.MalaDireta> malaDiretas3 = malaDiretas2;
+ IOrderedEnumerable<Gestor.Model.Domain.MalaDireta.MalaDireta> nome =
+ from x in malaDiretas3
+ orderby x.get_Cliente().get_Nome()
+ select x;
+ observableCollection.MalaDireta = new ObservableCollection<Gestor.Model.Domain.MalaDireta.MalaDireta>(nome.ThenBy<Gestor.Model.Domain.MalaDireta.MalaDireta, int>((Gestor.Model.Domain.MalaDireta.MalaDireta x) => x.get_Ordem()));
+ this.Variaveis.Add(new ComboVariavel(18, false));
+ this.Variaveis.Add(new ComboVariavel(0, false));
+ this.Variaveis.Add(new ComboVariavel(1, false));
+ this.Variaveis.Add(new ComboVariavel(2, false));
+ ObservableCollection<ComboVariavel> variaveis = this.Variaveis;
+ ObservableCollection<Gestor.Model.Domain.MalaDireta.MalaDireta> malaDireta = this.MalaDireta;
+ comboVariavel = (malaDireta.Any<Gestor.Model.Domain.MalaDireta.MalaDireta>((Gestor.Model.Domain.MalaDireta.MalaDireta x) => x.get_Cliente().get_VencimentoHabilitacao().HasValue) ? new ComboVariavel(16, false) : new ComboVariavel(16, true));
+ variaveis.Add(comboVariavel);
+ ObservableCollection<Gestor.Model.Domain.MalaDireta.MalaDireta> malaDireta1 = this.MalaDireta;
+ if (!malaDireta1.Any<Gestor.Model.Domain.MalaDireta.MalaDireta>((Gestor.Model.Domain.MalaDireta.MalaDireta x) => x.get_Cliente().get_Nascimento().HasValue))
+ {
+ this.Variaveis.Add(new ComboVariavel(14, true));
+ this.Variaveis.Add(new ComboVariavel(15, true));
+ }
+ else
+ {
+ this.Variaveis.Add(new ComboVariavel(14, false));
+ this.Variaveis.Add(new ComboVariavel(15, false));
+ }
+ ObservableCollection<ComboVariavel> variaveis1 = this.Variaveis;
+ ObservableCollection<Gestor.Model.Domain.MalaDireta.MalaDireta> observableCollection1 = this.MalaDireta;
+ comboVariavel1 = (observableCollection1.Any<Gestor.Model.Domain.MalaDireta.MalaDireta>((Gestor.Model.Domain.MalaDireta.MalaDireta x) => {
+ if (x.get_ArquivoDigital() == null)
+ {
+ return false;
+ }
+ return x.get_ArquivoDigital().Any<IndiceArquivoDigital>((IndiceArquivoDigital z) => !string.IsNullOrWhiteSpace(z.get_UrlAssinatura()));
+ }) ? new ComboVariavel(17, false) : new ComboVariavel(17, true));
+ variaveis1.Add(comboVariavel1);
+ ObservableCollection<Gestor.Model.Domain.MalaDireta.MalaDireta> malaDireta2 = this.MalaDireta;
+ if (!malaDireta2.All<Gestor.Model.Domain.MalaDireta.MalaDireta>((Gestor.Model.Domain.MalaDireta.MalaDireta x) => x.get_Apolice() != null))
+ {
+ this.Variaveis.Add(new ComboVariavel(19, true));
+ this.Variaveis.Add(new ComboVariavel(3, true));
+ this.Variaveis.Add(new ComboVariavel(4, true));
+ this.Variaveis.Add(new ComboVariavel(7, true));
+ this.Variaveis.Add(new ComboVariavel(8, true));
+ this.Variaveis.Add(new ComboVariavel(5, true));
+ this.Variaveis.Add(new ComboVariavel(6, true));
+ }
+ else
+ {
+ this.Variaveis.Add(new ComboVariavel(3, false));
+ this.Variaveis.Add(new ComboVariavel(4, false));
+ this.Variaveis.Add(new ComboVariavel(7, false));
+ ObservableCollection<ComboVariavel> variaveis2 = this.Variaveis;
+ ObservableCollection<Gestor.Model.Domain.MalaDireta.MalaDireta> observableCollection2 = this.MalaDireta;
+ comboVariavel7 = (observableCollection2.Any<Gestor.Model.Domain.MalaDireta.MalaDireta>((Gestor.Model.Domain.MalaDireta.MalaDireta x) => x.get_Apolice().get_Vigencia2().HasValue) ? new ComboVariavel(8, false) : new ComboVariavel(8, true));
+ variaveis2.Add(comboVariavel7);
+ this.Variaveis.Add(new ComboVariavel(19, false));
+ this.Variaveis.Add(new ComboVariavel(23, false));
+ this.Variaveis.Add(new ComboVariavel(24, false));
+ ObservableCollection<Gestor.Model.Domain.MalaDireta.MalaDireta> malaDireta3 = this.MalaDireta;
+ if (!malaDireta3.Any<Gestor.Model.Domain.MalaDireta.MalaDireta>((Gestor.Model.Domain.MalaDireta.MalaDireta x) => x.get_Apolice().get_Controle() != null))
+ {
+ this.Variaveis.Add(new ComboVariavel(5, true));
+ this.Variaveis.Add(new ComboVariavel(6, true));
+ }
+ else
+ {
+ this.Variaveis.Add(new ComboVariavel(5, false));
+ this.Variaveis.Add(new ComboVariavel(6, false));
+ }
+ }
+ ObservableCollection<Gestor.Model.Domain.MalaDireta.MalaDireta> observableCollection3 = this.MalaDireta;
+ if (!observableCollection3.All<Gestor.Model.Domain.MalaDireta.MalaDireta>((Gestor.Model.Domain.MalaDireta.MalaDireta x) => x.get_Parcela() != null))
+ {
+ this.Variaveis.Add(new ComboVariavel(9, true));
+ this.Variaveis.Add(new ComboVariavel(10, true));
+ this.Variaveis.Add(new ComboVariavel(13, true));
+ }
+ else
+ {
+ this.Variaveis.Add(new ComboVariavel(9, false));
+ this.Variaveis.Add(new ComboVariavel(10, false));
+ this.Variaveis.Add(new ComboVariavel(13, false));
+ }
+ ObservableCollection<ComboVariavel> variaveis3 = this.Variaveis;
+ ObservableCollection<Gestor.Model.Domain.MalaDireta.MalaDireta> malaDireta4 = this.MalaDireta;
+ comboVariavel2 = (malaDireta4.All<Gestor.Model.Domain.MalaDireta.MalaDireta>((Gestor.Model.Domain.MalaDireta.MalaDireta x) => x.get_Item() != null) ? new ComboVariavel(11, false) : new ComboVariavel(11, true));
+ variaveis3.Add(comboVariavel2);
+ ObservableCollection<ComboVariavel> variaveis4 = this.Variaveis;
+ ObservableCollection<Gestor.Model.Domain.MalaDireta.MalaDireta> observableCollection4 = this.MalaDireta;
+ comboVariavel3 = (observableCollection4.All<Gestor.Model.Domain.MalaDireta.MalaDireta>((Gestor.Model.Domain.MalaDireta.MalaDireta x) => x.get_Sinistro() != null) ? new ComboVariavel(12, false) : new ComboVariavel(12, true));
+ variaveis4.Add(comboVariavel3);
+ this.Variaveis = new ObservableCollection<ComboVariavel>(this.Variaveis);
+ ObservableCollection<ComboVariavel> variaveis5 = this.Variaveis;
+ ObservableCollection<Gestor.Model.Domain.MalaDireta.MalaDireta> malaDireta5 = this.MalaDireta;
+ comboVariavel4 = (malaDireta5.Any<Gestor.Model.Domain.MalaDireta.MalaDireta>((Gestor.Model.Domain.MalaDireta.MalaDireta x) => {
+ Documento apolice = x.get_Apolice();
+ if (apolice == null)
+ {
+ return false;
+ }
+ apolice.get_PremioLiquido();
+ return true;
+ }) ? new ComboVariavel(20, false) : new ComboVariavel(20, true));
+ variaveis5.Add(comboVariavel4);
+ ObservableCollection<ComboVariavel> observableCollection5 = this.Variaveis;
+ ObservableCollection<Gestor.Model.Domain.MalaDireta.MalaDireta> malaDireta6 = this.MalaDireta;
+ comboVariavel5 = (malaDireta6.Any<Gestor.Model.Domain.MalaDireta.MalaDireta>((Gestor.Model.Domain.MalaDireta.MalaDireta x) => {
+ Documento apolice = x.get_Apolice();
+ if (apolice == null)
+ {
+ return false;
+ }
+ apolice.get_PremioTotal();
+ return true;
+ }) ? new ComboVariavel(21, false) : new ComboVariavel(21, true));
+ observableCollection5.Add(comboVariavel5);
+ ObservableCollection<ComboVariavel> variaveis6 = this.Variaveis;
+ ObservableCollection<Gestor.Model.Domain.MalaDireta.MalaDireta> observableCollection6 = this.MalaDireta;
+ comboVariavel6 = (observableCollection6.Any<Gestor.Model.Domain.MalaDireta.MalaDireta>((Gestor.Model.Domain.MalaDireta.MalaDireta x) => {
+ Documento apolice = x.get_Apolice();
+ if (apolice == null)
+ {
+ return false;
+ }
+ return apolice.get_FormaPagamento().HasValue;
+ }) ? new ComboVariavel(22, false) : new ComboVariavel(22, true));
+ variaveis6.Add(comboVariavel6);
+ await this.CarregarModelos(null);
+ if (assunto != null)
+ {
+ this.Assunto = assunto;
+ }
+ if (corpo != null)
+ {
+ this.Corpo = corpo;
+ }
+ }
+
+ private async Task CarregarModelos(ModeloMalaDireta modelo = null)
+ {
+ List<ModeloMalaDireta> modeloMalaDiretas = await this._servico.BuscarModelos();
+ List<ComboModelo> comboModelos = new List<ComboModelo>();
+ foreach (ModeloMalaDireta modeloMalaDiretum in modeloMalaDiretas)
+ {
+ comboModelos.Add(new ComboModelo()
+ {
+ ModeloMalaDireta = modeloMalaDiretum
+ });
+ }
+ this.Modelos = new ObservableCollection<ComboModelo>(comboModelos);
+ if (modelo != null)
+ {
+ this.SelectedModelo = this.Modelos.FirstOrDefault<ComboModelo>((ComboModelo x) => x.ModeloMalaDireta.get_Id() == modelo.get_Id());
+ }
+ }
+
+ 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>((Gestor.Model.Domain.Common.ArquivoDigital x) => x.get_Descricao() == arquivo.get_Descricao());
+ this.ArquivosAnexados.Remove(arquivoDigital);
+ this.ArquivosAnexados = new ObservableCollection<Gestor.Model.Domain.Common.ArquivoDigital>(this.ArquivosAnexados);
+ }
+
+ public async Task<bool> Enviar()
+ {
+ bool flag;
+ if (string.IsNullOrWhiteSpace(this.Corpo) || string.IsNullOrWhiteSpace(this.Assunto))
+ {
+ await base.ShowMessage("NECESSÁRIO CONTER ASSUNTO E MENSAGEM PARA PROSSEGUIR.", "OK", "", false);
+ flag = false;
+ }
+ else if (this.SelectedCredencial == null || this.SelectedCredencial.get_Id() == 0)
+ {
+ await base.ShowMessage("NECESSÁRIO SELECIONAR O E-MAIL DE ENVIO PARA PROSSEGUIR.", "OK", "", false);
+ flag = false;
+ }
+ else
+ {
+ ObservableCollection<Gestor.Model.Domain.MalaDireta.MalaDireta> malaDireta = this.MalaDireta;
+ List<Gestor.Model.Domain.MalaDireta.MalaDireta> list = (
+ from x in malaDireta
+ where x.get_Selecionado()
+ select x).ToList<Gestor.Model.Domain.MalaDireta.MalaDireta>();
+ if (list.Count != 0)
+ {
+ await base.ShowEnviarEmailsDialog(list, this.Assinatura, this.EnviarOriginal, this.ArquivosAnexados.ToList<Gestor.Model.Domain.Common.ArquivoDigital>(), this.Assunto, this.Corpo, this.SelectedCredencial, this._filtro, this.SalvarArquivoDigital, this.ConfirmarLeitura);
+ this.Enviado = true;
+ flag = true;
+ }
+ else
+ {
+ await base.ShowMessage("NECESSÁRIO SELECIONAR AO MENOS UM DESTINATÁRIO PARA PROSSEGUIR.", "OK", "", false);
+ flag = false;
+ }
+ }
+ return flag;
+ }
+
+ public async void Excluir()
+ {
+ if (this.SelectedModelo != null && this.SelectedModelo.ModeloMalaDireta.get_Id() != 0)
+ {
+ if (await base.ShowMessage("DESEJA REALMENTE EXCLUIR O MODELO?", "SIM", "NÃO", false))
+ {
+ if (await this._servico.Delete(this.SelectedModelo.ModeloMalaDireta))
+ {
+ base.RegistrarAcao(string.Concat("EXCLUIU MODELO ", this.SelectedModelo.ModeloMalaDireta.get_Assunto()), this.SelectedModelo.ModeloMalaDireta.get_Id(), new TipoTela?(39), null);
+ await this.CarregarModelos(null);
+ this.SelectedModelo = null;
+ base.ToggleSnackBar("MODELO EXCLUÍDO COM SUCESSO", true);
+ }
+ }
+ }
+ }
+
+ public void Incluir()
+ {
+ this.SelectedModelo = new ComboModelo();
+ this.Corpo = string.Empty;
+ base.Alterar(true);
+ }
+
+ public async Task<List<KeyValuePair<string, string>>> Salvar()
+ {
+ List<KeyValuePair<string, string>> keyValuePairs;
+ if (this.SelectedModelo != null)
+ {
+ this.SelectedModelo.ModeloMalaDireta.set_Assunto(this.Assunto);
+ this.SelectedModelo.ModeloMalaDireta.set_Corpo(this.Corpo);
+ }
+ else
+ {
+ ComboModelo comboModelo = new ComboModelo();
+ ModeloMalaDireta modeloMalaDiretum = new ModeloMalaDireta();
+ modeloMalaDiretum.set_Assunto(this.Assunto);
+ modeloMalaDiretum.set_Corpo(this.Corpo);
+ comboModelo.ModeloMalaDireta = modeloMalaDiretum;
+ this.SelectedModelo = comboModelo;
+ }
+ List<KeyValuePair<string, string>> keyValuePairs1 = this.SelectedModelo.ModeloMalaDireta.Validate();
+ if (keyValuePairs1.Count <= 0)
+ {
+ ModeloMalaDireta modeloMalaDiretum1 = await this._servico.Save(this.SelectedModelo.ModeloMalaDireta);
+ if (this._servico.Sucesso)
+ {
+ base.Alterar(false);
+ await this.CarregarModelos(modeloMalaDiretum1);
+ base.ToggleSnackBar("MODELO SALVO COM SUCESSO", true);
+ keyValuePairs = null;
+ }
+ else
+ {
+ keyValuePairs = null;
+ }
+ }
+ else
+ {
+ keyValuePairs = keyValuePairs1;
+ }
+ return keyValuePairs;
+ }
+
+ public void Selecionar()
+ {
+ this.MalaDireta.ToList<Gestor.Model.Domain.MalaDireta.MalaDireta>().ForEach((Gestor.Model.Domain.MalaDireta.MalaDireta x) => x.set_Selecionado(!x.get_Selecionado()));
+ this.MalaDireta = new ObservableCollection<Gestor.Model.Domain.MalaDireta.MalaDireta>(this.MalaDireta);
+ }
+
+ private void WorkOnSelectedModelo(ModeloMalaDireta value)
+ {
+ if (value == null)
+ {
+ return;
+ }
+ this.Corpo = this.SelectedModelo.ModeloMalaDireta.get_Corpo();
+ this.Assunto = this.SelectedModelo.ModeloMalaDireta.get_Assunto();
+ }
+ }
+}
\ No newline at end of file |