summaryrefslogtreecommitdiff
path: root/Decompiler/Gestor.Application.ViewModels.Drawer.Ajuda
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.Drawer.Ajuda
parent1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1 (diff)
downloadgestor-225aa1499e37faf9d38257caabbadc68d78b427e.tar.gz
gestor-225aa1499e37faf9d38257caabbadc68d78b427e.zip
decompiler.com
Diffstat (limited to 'Decompiler/Gestor.Application.ViewModels.Drawer.Ajuda')
-rw-r--r--Decompiler/Gestor.Application.ViewModels.Drawer.Ajuda/AtendimentosViewModel.cs472
-rw-r--r--Decompiler/Gestor.Application.ViewModels.Drawer.Ajuda/BoletosNotasViewModel.cs100
-rw-r--r--Decompiler/Gestor.Application.ViewModels.Drawer.Ajuda/ContratosViewModel.cs109
-rw-r--r--Decompiler/Gestor.Application.ViewModels.Drawer.Ajuda/InstalacaoViewModel.cs201
4 files changed, 882 insertions, 0 deletions
diff --git a/Decompiler/Gestor.Application.ViewModels.Drawer.Ajuda/AtendimentosViewModel.cs b/Decompiler/Gestor.Application.ViewModels.Drawer.Ajuda/AtendimentosViewModel.cs
new file mode 100644
index 0000000..05ffe12
--- /dev/null
+++ b/Decompiler/Gestor.Application.ViewModels.Drawer.Ajuda/AtendimentosViewModel.cs
@@ -0,0 +1,472 @@
+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.Model.Ajuda;
+using Gestor.Application.Servicos.Ajuda;
+using Gestor.Application.ViewModels.Generic;
+using Gestor.Model.API;
+using Gestor.Model.Domain.Common;
+using Gestor.Model.Domain.Generic;
+using Gestor.Model.Domain.Seguros;
+using Gestor.Model.Helper;
+using Gestor.Model.Resources;
+using Newtonsoft.Json;
+
+namespace Gestor.Application.ViewModels.Drawer.Ajuda;
+
+public class AtendimentosViewModel : BaseViewModel
+{
+ private readonly AjudaServico _ajudaServico;
+
+ private List<string> _status;
+
+ private string _webbody;
+
+ private Visibility _envioEmailVisibility = (Visibility)2;
+
+ private Visibility _atendimentoVisibility;
+
+ private ObservableCollection<Atendimento> _atendimentos;
+
+ private Atendimento _selectedAtendimento;
+
+ private string _nome;
+
+ private string _ddd;
+
+ private string _telefone;
+
+ private string _email;
+
+ private string _assunto;
+
+ private string _idacesso;
+
+ private string _corpo;
+
+ private string _senhaacesso;
+
+ private ObservableCollection<ArquivoDigital> _arquivosAnexados = new ObservableCollection<ArquivoDigital>();
+
+ private ArquivoDigital _selectedAnexado = new ArquivoDigital();
+
+ private string _head;
+
+ public HorarioAtendimento HorarioAtendimento { get; set; }
+
+ public List<string> Status
+ {
+ get
+ {
+ return _status;
+ }
+ set
+ {
+ _status = value;
+ OnPropertyChanged("Status");
+ }
+ }
+
+ public string WebBody
+ {
+ get
+ {
+ return _webbody?.ToUpper().Trim();
+ }
+ set
+ {
+ _webbody = value;
+ OnPropertyChanged("WebBody");
+ }
+ }
+
+ public Visibility EnvioEmailVisibility
+ {
+ get
+ {
+ //IL_0001: Unknown result type (might be due to invalid IL or missing references)
+ return _envioEmailVisibility;
+ }
+ 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)
+ _envioEmailVisibility = value;
+ OnPropertyChanged("EnvioEmailVisibility");
+ }
+ }
+
+ public Visibility AtendimentoVisibility
+ {
+ get
+ {
+ //IL_0001: Unknown result type (might be due to invalid IL or missing references)
+ return _atendimentoVisibility;
+ }
+ 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)
+ _atendimentoVisibility = value;
+ OnPropertyChanged("AtendimentoVisibility");
+ }
+ }
+
+ public ObservableCollection<Atendimento> Atendimentos
+ {
+ get
+ {
+ return _atendimentos;
+ }
+ set
+ {
+ _atendimentos = value;
+ OnPropertyChanged("Atendimentos");
+ }
+ }
+
+ public Atendimento SelectedAtendimento
+ {
+ get
+ {
+ return _selectedAtendimento;
+ }
+ set
+ {
+ _selectedAtendimento = value;
+ WorkOnSelectedAtendimento(value);
+ OnPropertyChanged("SelectedAtendimento");
+ }
+ }
+
+ public string Nome
+ {
+ get
+ {
+ return _nome;
+ }
+ set
+ {
+ _nome = value;
+ OnPropertyChanged("Nome");
+ }
+ }
+
+ public string Ddd
+ {
+ get
+ {
+ return _ddd;
+ }
+ set
+ {
+ _ddd = value;
+ OnPropertyChanged("Ddd");
+ }
+ }
+
+ public string Telefone
+ {
+ get
+ {
+ return _telefone;
+ }
+ set
+ {
+ _telefone = value;
+ OnPropertyChanged("Telefone");
+ }
+ }
+
+ public string Email
+ {
+ get
+ {
+ return _email;
+ }
+ set
+ {
+ _email = value;
+ OnPropertyChanged("Email");
+ }
+ }
+
+ public string Assunto
+ {
+ get
+ {
+ return _assunto;
+ }
+ set
+ {
+ _assunto = value;
+ OnPropertyChanged("Assunto");
+ }
+ }
+
+ public string IdAcesso
+ {
+ get
+ {
+ return _idacesso;
+ }
+ set
+ {
+ _idacesso = value;
+ OnPropertyChanged("IdAcesso");
+ }
+ }
+
+ public string Corpo
+ {
+ get
+ {
+ return _corpo;
+ }
+ set
+ {
+ _corpo = value;
+ OnPropertyChanged("Corpo");
+ }
+ }
+
+ public string SenhaAcesso
+ {
+ get
+ {
+ return _senhaacesso;
+ }
+ set
+ {
+ _senhaacesso = value;
+ OnPropertyChanged("SenhaAcesso");
+ }
+ }
+
+ public ObservableCollection<ArquivoDigital> ArquivosAnexados
+ {
+ get
+ {
+ return _arquivosAnexados;
+ }
+ set
+ {
+ _arquivosAnexados = value;
+ OnPropertyChanged("ArquivosAnexados");
+ }
+ }
+
+ public ArquivoDigital SelectedAnexado
+ {
+ get
+ {
+ return _selectedAnexado;
+ }
+ set
+ {
+ _selectedAnexado = value;
+ OnPropertyChanged("SelectedAnexado");
+ }
+ }
+
+ public string Head
+ {
+ get
+ {
+ return _head;
+ }
+ set
+ {
+ _head = value;
+ OnPropertyChanged("Head");
+ }
+ }
+
+ private async void HabilitarAtendimento(HorarioAtendimento horario)
+ {
+ if (horario == null || horario.Autorizado)
+ {
+ AtendimentosViewModel atendimentosViewModel = this;
+ Usuario usuario = Recursos.Usuario;
+ atendimentosViewModel.EnableButtons = usuario != null && ((DomainBase)usuario).Id > 0;
+ return;
+ }
+ base.EnableButtons = false;
+ string text = (horario.InicioDia.HasValue ? (" de " + horario.InicioDia.DiaDaSemana() + " à " + horario.FimDia.DiaDaSemana() + ", das " + horario.InicioHora + "hs às " + horario.FimHora + "hs") : (" das " + horario.InicioHora + "hs às " + horario.FimHora + "hs"));
+ await ShowMessage("Prezado Cliente," + Environment.NewLine + Environment.NewLine + "Informamos Nosso horário de atendimento e recepção dos mesmos é " + text + "." + Environment.NewLine + "Infelizmente não realizamos agendamento de data/hora de atendimento, por gentileza realize a solicitação dentro do horário comercial que retornaremos a você.");
+ }
+
+ public AtendimentosViewModel()
+ {
+ //IL_0002: Unknown result type (might be due to invalid IL or missing references)
+ //IL_0013: Unknown result type (might be due to invalid IL or missing references)
+ //IL_001d: Expected O, but got Unknown
+ base.EnableButtons = true;
+ _ajudaServico = new AjudaServico();
+ LoadCombo();
+ InitialLoad();
+ }
+
+ private async void InitialLoad()
+ {
+ base.IsEnabled = false;
+ HorarioAtendimento = await Connection.Get<HorarioAtendimento>("Attendance");
+ HabilitarAtendimento(HorarioAtendimento);
+ base.IsEnabled = true;
+ }
+
+ private void LoadCombo()
+ {
+ Status = new List<string> { "PENDENTES", "FINALIZADOS" };
+ }
+
+ public async void WorkOnSelectedStatus(string value)
+ {
+ Atendimentos = await _ajudaServico.BuscarAtendimentos(value);
+ SelecionaAtendimento();
+ }
+
+ public void SelecionaAtendimento()
+ {
+ if (Atendimentos != null && Atendimentos.Count > 0)
+ {
+ SelectedAtendimento = Atendimentos[0];
+ }
+ AtendimentoVisibility = (Visibility)0;
+ EnvioEmailVisibility = (Visibility)2;
+ }
+
+ private async void WorkOnSelectedAtendimento(Atendimento value)
+ {
+ if (value != null)
+ {
+ WebBody = await _ajudaServico.BuscarCorpoAtendimentos(value.IdAtendimento);
+ }
+ }
+
+ public async void Anexar()
+ {
+ List<ArquivoDigital> list = await AddAttachments(new List<ArquivoDigital>(), new List<ArquivoDigital>());
+ if (list != null)
+ {
+ list.AddRange(ArquivosAnexados);
+ ArquivosAnexados = new ObservableCollection<ArquivoDigital>(list);
+ }
+ }
+
+ public async Task<List<KeyValuePair<string, string>>> Enviar()
+ {
+ try
+ {
+ List<KeyValuePair<string, string>> list = Validate();
+ if (list.Count > 0)
+ {
+ return list;
+ }
+ CustomerData val = new CustomerData
+ {
+ Corretora = Recursos.Empresa.Nome,
+ Name = Nome,
+ AreaCode = Ddd,
+ Number = Telefone,
+ Email = Email
+ };
+ string body = $"{Corpo}<hr><p><b>ID Acesso:</b> {IdAcesso}<br><b>Senha Acesso:</b> {SenhaAcesso}</p><p>VERSÃO DO SISTEMA: {ApplicationHelper.Versao}<br />USUÁRIO SISTEMA:{((DomainBase)Recursos.Usuario).Id} {Recursos.Usuario.Login}</p><p>{JsonConvert.SerializeObject((object)val)}</p>";
+ CustomerAttendance keyValues = new CustomerAttendance
+ {
+ CustomerData = val,
+ Subject = Assunto,
+ Body = body,
+ Attachments = ((IEnumerable<ArquivoDigital>)ArquivosAnexados).Select((Func<ArquivoDigital, Attachment>)((ArquivoDigital x) => new Attachment
+ {
+ Description = x.Descricao,
+ Extension = x.Extensao,
+ File = x.Arquivo
+ })).ToList()
+ };
+ bool num = await Connection.Post<CustomerAttendance>("Attendance/Send", keyValues) == null;
+ LimparComponentes();
+ SelecionaAtendimento();
+ return num ? null : new List<KeyValuePair<string, string>>
+ {
+ new KeyValuePair<string, string>("fail", "")
+ };
+ }
+ catch (Exception)
+ {
+ return new List<KeyValuePair<string, string>>
+ {
+ new KeyValuePair<string, string>("fail", "")
+ };
+ }
+ }
+
+ public void LimparComponentes()
+ {
+ Nome = Recursos.Usuario.Nome;
+ Ddd = Recursos.Usuario.Prefixo;
+ Telefone = Recursos.Usuario.Telefone;
+ Email = Recursos.Usuario.Email;
+ Assunto = null;
+ IdAcesso = null;
+ SenhaAcesso = null;
+ Corpo = string.Empty;
+ ArquivosAnexados = new ObservableCollection<ArquivoDigital>();
+ }
+
+ public List<KeyValuePair<string, string>> Validate()
+ {
+ List<KeyValuePair<string, string>> list = ValidationHelper.AddValue();
+ if (string.IsNullOrWhiteSpace(Nome))
+ {
+ ValidationHelper.AddValue<string, string>(list, "Nome", Messages.Obrigatorio, true);
+ }
+ if (string.IsNullOrWhiteSpace(Ddd))
+ {
+ ValidationHelper.AddValue<string, string>(list, "Ddd", Messages.Obrigatorio, true);
+ }
+ else if (!ValidationHelper.ValidacaoPrefixo(Ddd))
+ {
+ ValidationHelper.AddValue<string, string>(list, "Ddd", Messages.Invalido, true);
+ }
+ if (string.IsNullOrWhiteSpace(Telefone))
+ {
+ ValidationHelper.AddValue<string, string>(list, "Telefone", Messages.Obrigatorio, true);
+ }
+ else if (!ValidationHelper.ValidacaoTelefone(Telefone))
+ {
+ ValidationHelper.AddValue<string, string>(list, "Telefone", Messages.Invalido, true);
+ }
+ if (string.IsNullOrWhiteSpace(Email))
+ {
+ ValidationHelper.AddValue<string, string>(list, "Email", Messages.Obrigatorio, true);
+ }
+ else if (!ValidationHelper.ValidacaoEmail(Email))
+ {
+ ValidationHelper.AddValue<string, string>(list, "Email", Messages.Invalido, true);
+ }
+ if (string.IsNullOrWhiteSpace(Corpo))
+ {
+ ValidationHelper.AddValue<string, string>(list, "Corpo", Messages.Obrigatorio, true);
+ }
+ if (string.IsNullOrWhiteSpace(Assunto))
+ {
+ ValidationHelper.AddValue<string, string>(list, "Assunto", Messages.Obrigatorio, true);
+ }
+ return list;
+ }
+
+ 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);
+ }
+ }
+}
diff --git a/Decompiler/Gestor.Application.ViewModels.Drawer.Ajuda/BoletosNotasViewModel.cs b/Decompiler/Gestor.Application.ViewModels.Drawer.Ajuda/BoletosNotasViewModel.cs
new file mode 100644
index 0000000..39f6c10
--- /dev/null
+++ b/Decompiler/Gestor.Application.ViewModels.Drawer.Ajuda/BoletosNotasViewModel.cs
@@ -0,0 +1,100 @@
+using System.Collections.Generic;
+using System.Linq;
+using Gestor.Application.Model.Ajuda;
+using Gestor.Application.Servicos.Ajuda;
+using Gestor.Application.ViewModels.Generic;
+
+namespace Gestor.Application.ViewModels.Drawer.Ajuda;
+
+public class BoletosNotasViewModel : BaseViewModel
+{
+ private readonly AjudaServico _ajudaServico;
+
+ private bool _carregando;
+
+ private List<Boleto> _boletos;
+
+ private string _boletoDisponivel;
+
+ private List<string> _status;
+
+ public bool Carregando
+ {
+ get
+ {
+ return _carregando;
+ }
+ set
+ {
+ _carregando = value;
+ base.IsEnabled = !value;
+ base.EnableMenu = !value;
+ OnPropertyChanged("Carregando");
+ }
+ }
+
+ public List<Boleto> Boletos
+ {
+ get
+ {
+ return _boletos;
+ }
+ set
+ {
+ _boletos = value;
+ OnPropertyChanged("Boletos");
+ }
+ }
+
+ public string BoletoDisponivel
+ {
+ get
+ {
+ return _boletoDisponivel;
+ }
+ set
+ {
+ _boletoDisponivel = value;
+ OnPropertyChanged("BoletoDisponivel");
+ }
+ }
+
+ public List<string> Status
+ {
+ get
+ {
+ return _status;
+ }
+ set
+ {
+ _status = value;
+ OnPropertyChanged("Status");
+ }
+ }
+
+ public BoletosNotasViewModel()
+ {
+ _ajudaServico = new AjudaServico();
+ LoadCombos();
+ BoletoDisponivel = "Disponível para impressão a partir de\n10 (dez) dias antes do vencimento";
+ }
+
+ private void LoadCombos()
+ {
+ Status = new List<string>();
+ Status.Add("PENDENTES");
+ Status.Add("BAIXADOS");
+ }
+
+ public async void WorkOnSelectedStatus(string value)
+ {
+ Carregando = true;
+ Boletos = new List<Boleto>();
+ List<Boleto> list = await _ajudaServico.BuscarBoletosNotas(value);
+ Boletos = ((value == "BAIXADOS") ? (from x in list
+ where x.Pagamento.HasValue
+ orderby x.Pagamento descending
+ select x).ToList() : list);
+ Carregando = false;
+ }
+}
diff --git a/Decompiler/Gestor.Application.ViewModels.Drawer.Ajuda/ContratosViewModel.cs b/Decompiler/Gestor.Application.ViewModels.Drawer.Ajuda/ContratosViewModel.cs
new file mode 100644
index 0000000..4258dcc
--- /dev/null
+++ b/Decompiler/Gestor.Application.ViewModels.Drawer.Ajuda/ContratosViewModel.cs
@@ -0,0 +1,109 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.IO;
+using System.Text;
+using System.Text.RegularExpressions;
+using Gestor.Application.Helpers;
+using Gestor.Application.Model.Ajuda;
+using Gestor.Application.Servicos.Ajuda;
+using Gestor.Application.ViewModels.Generic;
+using Gestor.Common.Validation;
+using Gestor.Model.Domain.Generic;
+using Gestor.Model.License;
+
+namespace Gestor.Application.ViewModels.Drawer.Ajuda;
+
+public class ContratosViewModel : BaseViewModel
+{
+ private readonly AjudaServico _ajudaServico;
+
+ private bool _carregando;
+
+ private List<Licenca> _contratos;
+
+ private Licenca _selectedContrato;
+
+ public bool Carregando
+ {
+ get
+ {
+ return _carregando;
+ }
+ set
+ {
+ _carregando = value;
+ base.IsEnabled = !value;
+ base.EnableMenu = !value;
+ OnPropertyChanged("Carregando");
+ }
+ }
+
+ public List<Licenca> Contratos
+ {
+ get
+ {
+ return _contratos;
+ }
+ set
+ {
+ _contratos = value;
+ OnPropertyChanged("Contratos");
+ }
+ }
+
+ public Licenca SelectedContrato
+ {
+ get
+ {
+ return _selectedContrato;
+ }
+ set
+ {
+ _selectedContrato = value;
+ WorkOnSelectedContrato(value);
+ OnPropertyChanged("SelectedContrato");
+ }
+ }
+
+ public ContratosViewModel()
+ {
+ _ajudaServico = new AjudaServico();
+ Contratos = LicenseHelper.Produtos;
+ }
+
+ internal async void WorkOnSelectedContrato(Licenca value)
+ {
+ Contrato contrato = await _ajudaServico.BuscarContrato(value.Produto);
+ if (string.IsNullOrEmpty(contrato.HtmlContrato) && contrato.IdModulo == 7)
+ {
+ Process.Start($"https://aggilizador.com.br/Contrato.aspx?id={ApplicationHelper.IdFornecedor}");
+ return;
+ }
+ if (string.IsNullOrEmpty(contrato.HtmlContrato) && contrato.IdModulo != 7)
+ {
+ contrato = await _ajudaServico.BuscarContrato((Produto)1);
+ }
+ string produtos = string.Empty;
+ LicenseHelper.Produtos.ForEach(delegate(Licenca x)
+ {
+ //IL_0031: Unknown result type (might be due to invalid IL or missing references)
+ //IL_001a: Unknown result type (might be due to invalid IL or missing references)
+ produtos += (string.IsNullOrEmpty(produtos) ? ValidationHelper.GetDescription((Enum)(object)x.Produto) : ("/ " + ValidationHelper.GetDescription((Enum)(object)x.Produto)));
+ });
+ contrato.HtmlContrato = contrato.HtmlContrato.Replace("[&lt;NOME&gt;]", Recursos.Empresa.Nome);
+ contrato.HtmlContrato = contrato.HtmlContrato.Replace("[&lt;ENDERECO&gt;]", ((EnderecoBase)Recursos.Empresa).Endereco);
+ contrato.HtmlContrato = contrato.HtmlContrato.Replace("[&lt;CIDADE&gt;]", ((EnderecoBase)Recursos.Empresa).Cidade);
+ contrato.HtmlContrato = contrato.HtmlContrato.Replace("[&lt;CNPJ&gt;]", Recursos.Empresa.Documento);
+ contrato.HtmlContrato = contrato.HtmlContrato.Replace("[&lt;NS&gt;]", Recursos.Empresa.Serial);
+ contrato.HtmlContrato = contrato.HtmlContrato.Replace("[&lt;DATA&gt;]", Funcoes.GetNetworkTime().Date.ToString("dd/MM/yyyy"));
+ contrato.HtmlContrato = contrato.HtmlContrato.Replace("[&lt;VALOR&gt;]", "Conforme Mensalidade");
+ contrato.HtmlContrato = contrato.HtmlContrato.Replace("[&lt;OUTROS&gt;]", produtos.Replace("*", ""));
+ string tempPath = Path.GetTempPath();
+ string text = string.Format("{0}{1}_{2:ddMMyyyyhhmmss}.html", tempPath, new Regex("[" + Regex.Escape(new string(Path.GetInvalidFileNameChars()) + new string(Path.GetInvalidPathChars())) + "]").Replace(ValidationHelper.GetDescription((Enum)(object)value.Produto), ""), Funcoes.GetNetworkTime());
+ StreamWriter streamWriter = new StreamWriter(text, append: true, Encoding.UTF8);
+ streamWriter.Write(contrato.HtmlContrato);
+ streamWriter.Close();
+ Process.Start(text);
+ }
+}
diff --git a/Decompiler/Gestor.Application.ViewModels.Drawer.Ajuda/InstalacaoViewModel.cs b/Decompiler/Gestor.Application.ViewModels.Drawer.Ajuda/InstalacaoViewModel.cs
new file mode 100644
index 0000000..bfe29e1
--- /dev/null
+++ b/Decompiler/Gestor.Application.ViewModels.Drawer.Ajuda/InstalacaoViewModel.cs
@@ -0,0 +1,201 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows.Controls;
+using Gestor.Application.Helpers;
+using Gestor.Application.Model.Ajuda;
+using Gestor.Application.Servicos.Ajuda;
+using Gestor.Application.ViewModels.Generic;
+using Gestor.Common.Validation;
+using Gestor.Model.Domain.Generic;
+using Gestor.Model.Domain.Seguros;
+using Gestor.Model.License;
+
+namespace Gestor.Application.ViewModels.Drawer.Ajuda;
+
+public class InstalacaoViewModel : BaseViewModel
+{
+ private readonly AjudaServico _ajudaServico;
+
+ private bool _enableExclusao;
+
+ private bool _mostrarAggilizador;
+
+ private string _infoGestor;
+
+ private string _infoAggilizador;
+
+ private bool _carregando;
+
+ private List<Instalacao> _agger;
+
+ private ObservableCollection<Instalacao> _aggerFiltrado;
+
+ private List<Instalacao> _aggilizador;
+
+ public bool EnableExclusao
+ {
+ get
+ {
+ return _enableExclusao;
+ }
+ set
+ {
+ _enableExclusao = value;
+ OnPropertyChanged("EnableExclusao");
+ }
+ }
+
+ public bool MostrarAggilizador
+ {
+ get
+ {
+ return _mostrarAggilizador;
+ }
+ set
+ {
+ _mostrarAggilizador = value;
+ OnPropertyChanged("MostrarAggilizador");
+ }
+ }
+
+ public string InfoGestor
+ {
+ get
+ {
+ return _infoGestor;
+ }
+ set
+ {
+ _infoGestor = value;
+ OnPropertyChanged("InfoGestor");
+ }
+ }
+
+ public string InfoAggilizador
+ {
+ get
+ {
+ return _infoAggilizador;
+ }
+ set
+ {
+ _infoAggilizador = value;
+ OnPropertyChanged("InfoAggilizador");
+ }
+ }
+
+ public bool Carregando
+ {
+ get
+ {
+ return _carregando;
+ }
+ set
+ {
+ _carregando = value;
+ base.IsEnabled = !value;
+ base.EnableMenu = !value;
+ OnPropertyChanged("Carregando");
+ }
+ }
+
+ public List<Instalacao> Agger
+ {
+ get
+ {
+ return _agger;
+ }
+ set
+ {
+ _agger = value;
+ OnPropertyChanged("Agger");
+ }
+ }
+
+ public ObservableCollection<Instalacao> AggerFiltrado
+ {
+ get
+ {
+ return _aggerFiltrado;
+ }
+ set
+ {
+ _aggerFiltrado = value;
+ OnPropertyChanged("AggerFiltrado");
+ }
+ }
+
+ public List<Instalacao> Aggilizador
+ {
+ get
+ {
+ return _aggilizador;
+ }
+ set
+ {
+ _aggilizador = value;
+ OnPropertyChanged("Aggilizador");
+ }
+ }
+
+ public AutoCompleteFilterPredicate<object> InstalacaoItemFilter => (string searchText, object obj) => ((Instalacao)obj).Maquina.ToUpper().Contains(searchText.ToUpper()) || ((Instalacao)obj).Usuario.ToUpper().Contains(searchText.ToUpper()) || ((Instalacao)obj).DataIntalacao.ToString().Contains(searchText.ToUpper());
+
+ public InstalacaoViewModel()
+ {
+ Usuario usuario = Recursos.Usuario;
+ _enableExclusao = usuario != null && ((DomainBase)usuario).Id > 0;
+ base._002Ector();
+ _ajudaServico = new AjudaServico();
+ LoadInstalacoes();
+ }
+
+ private async void LoadInstalacoes()
+ {
+ Carregando = true;
+ ObservableCollection<Instalacao> source = await _ajudaServico.BuscarLicencas();
+ Agger = source.Where((Instalacao x) => !string.IsNullOrEmpty(x.IdGerenciador)).ToList();
+ AggerFiltrado = new ObservableCollection<Instalacao>(Agger);
+ Aggilizador = (LicenseHelper.Produtos.Any((Licenca x) => (int)x.Produto == 81) ? new List<Instalacao>() : source.Where((Instalacao x) => !string.IsNullOrEmpty(x.IdAggilizador)).ToList());
+ InstalacaoViewModel instalacaoViewModel = this;
+ object arg = Agger.Count;
+ Licenca? obj = ((IEnumerable<Licenca>)LicenseHelper.Produtos).FirstOrDefault((Func<Licenca, bool>)((Licenca x) => (int)x.Produto == 1));
+ instalacaoViewModel.InfoGestor = $"{arg} LICENÇAS INSTALADAS DE {((obj != null) ? new int?(obj.Quantidade) : null)} LICENÇAS CONTRATADAS.";
+ InstalacaoViewModel instalacaoViewModel2 = this;
+ object infoAggilizador;
+ if (Aggilizador.Count <= 0)
+ {
+ infoAggilizador = "";
+ }
+ else
+ {
+ object arg2 = Aggilizador.Count;
+ Licenca? obj2 = ((IEnumerable<Licenca>)LicenseHelper.Produtos).FirstOrDefault((Func<Licenca, bool>)((Licenca x) => (int)x.Produto == 81));
+ infoAggilizador = $"{arg2} LICENÇAS INSTALADAS DE {((obj2 != null) ? new int?(obj2.Quantidade) : null)} LICENÇAS CONTRATADAS.";
+ }
+ instalacaoViewModel2.InfoAggilizador = (string)infoAggilizador;
+ MostrarAggilizador = Aggilizador.Count > 0;
+ Carregando = false;
+ }
+
+ public async void Excluir(long id)
+ {
+ if (await _ajudaServico.ExcluirInstalacao(id))
+ {
+ LoadInstalacoes();
+ }
+ }
+
+ internal async Task<List<Instalacao>> Filtrar(string value)
+ {
+ return await Task.Run(() => FiltrarInstalacao(value));
+ }
+
+ public List<Instalacao> FiltrarInstalacao(string filter)
+ {
+ AggerFiltrado = (string.IsNullOrWhiteSpace(filter) ? new ObservableCollection<Instalacao>(Agger) : new ObservableCollection<Instalacao>(Agger.Where((Instalacao x) => ValidationHelper.RemoveDiacritics(x.Maquina.Trim()).ToUpper().Contains(ValidationHelper.RemoveDiacritics(filter)) || ValidationHelper.RemoveDiacritics(x.Usuario.Trim()).ToUpper().Contains(ValidationHelper.RemoveDiacritics(filter)) || x.DataIntalacao.ToString().Contains(ValidationHelper.RemoveDiacritics(filter)))));
+ return AggerFiltrado.ToList();
+ }
+}