From 225aa1499e37faf9d38257caabbadc68d78b427e Mon Sep 17 00:00:00 2001 From: Lucas Faria Mendes Date: Mon, 30 Mar 2026 12:29:41 -0300 Subject: decompiler.com --- .../AgendaViewModel.cs | 406 +++++++++++++++++++++ 1 file changed, 406 insertions(+) create mode 100644 Decompiler/Gestor.Application.ViewModels.Drawer/AgendaViewModel.cs (limited to 'Decompiler/Gestor.Application.ViewModels.Drawer/AgendaViewModel.cs') diff --git a/Decompiler/Gestor.Application.ViewModels.Drawer/AgendaViewModel.cs b/Decompiler/Gestor.Application.ViewModels.Drawer/AgendaViewModel.cs new file mode 100644 index 0000000..57aebe2 --- /dev/null +++ b/Decompiler/Gestor.Application.ViewModels.Drawer/AgendaViewModel.cs @@ -0,0 +1,406 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Threading.Tasks; +using Gestor.Application.Servicos.Ferramentas; +using Gestor.Application.Servicos.Generic; +using Gestor.Application.ViewModels.Generic; +using Gestor.Common.Validation; +using Gestor.Model.Common; +using Gestor.Model.Domain.Ferramentas; +using Gestor.Model.Domain.Generic; + +namespace Gestor.Application.ViewModels.Drawer; + +public class AgendaViewModel : BaseSegurosViewModel +{ + private readonly AgendaServico _servico; + + private Agenda _selectedAgenda; + + private ObservableCollection _telefones = new ObservableCollection(); + + private ObservableCollection _emails = new ObservableCollection(); + + private long _ultimoId; + + public Agenda CancelAgenda; + + private ObservableCollection _agendasFiltradas = new ObservableCollection(); + + private bool _carregando; + + public Agenda SelectedAgenda + { + get + { + return _selectedAgenda; + } + set + { + _selectedAgenda = value; + VerificarEnables((value != null) ? new long?(((DomainBase)value).Id) : null); + OnPropertyChanged("SelectedAgenda"); + } + } + + public ObservableCollection Telefones + { + get + { + return _telefones; + } + set + { + _telefones = value; + OnPropertyChanged("Telefones"); + } + } + + public ObservableCollection Emails + { + get + { + return _emails; + } + set + { + _emails = value; + OnPropertyChanged("Emails"); + } + } + + public ObservableCollection AgendasFiltradas + { + get + { + return _agendasFiltradas; + } + set + { + _agendasFiltradas = value; + OnPropertyChanged("AgendasFiltradas"); + } + } + + public List Agendas { get; set; } + + public bool Carregando + { + get + { + return _carregando; + } + set + { + _carregando = value; + base.IsEnabled = !value; + base.EnableMenu = !value; + OnPropertyChanged("Carregando"); + } + } + + public AgendaViewModel() + { + _servico = new AgendaServico(); + Seleciona(); + } + + private async void Seleciona() + { + Loading(isLoading: true); + await PermissaoTela((TipoTela)34); + await SelecionaAgendas(); + Loading(isLoading: false); + } + + private async Task SelecionaAgendas() + { + Carregando = true; + Agendas = (await new BaseServico().BuscarAgendasAsync()).OrderBy((Agenda x) => x.Nome).ToList(); + AgendasFiltradas = new ObservableCollection(Agendas); + SelectedAgenda = (Agenda)((AgendasFiltradas.Count > 0) ? ((object)AgendasFiltradas.First()) : ((object)new Agenda())); + Carregando = false; + } + + public void IncluirTelefone() + { + //IL_001c: Unknown result type (might be due to invalid IL or missing references) + //IL_0021: Unknown result type (might be due to invalid IL or missing references) + //IL_002d: Unknown result type (might be due to invalid IL or missing references) + //IL_003a: Expected O, but got Unknown + if (SelectedAgenda != null) + { + if (Telefones == null) + { + Telefones = new ObservableCollection(); + } + AgendaTelefone item = new AgendaTelefone + { + Agenda = SelectedAgenda, + Tipo = (TipoTelefone)1 + }; + Telefones.Add(item); + OnPropertyChanged("IncluirTelefone"); + } + } + + public void ExcluirEmail(AgendaEmail email) + { + Emails.Remove(email); + } + + public void IncluirEmail() + { + //IL_001c: Unknown result type (might be due to invalid IL or missing references) + //IL_0021: Unknown result type (might be due to invalid IL or missing references) + //IL_002e: Expected O, but got Unknown + if (SelectedAgenda != null) + { + if (Emails == null) + { + Emails = new ObservableCollection(); + } + AgendaEmail item = new AgendaEmail + { + Agenda = SelectedAgenda + }; + Emails.Add(item); + OnPropertyChanged("IncluirEmail"); + } + } + + public void ExcluirTelefone(AgendaTelefone telefone) + { + Telefones.Remove(telefone); + } + + public void Incluir() + { + //IL_001a: Unknown result type (might be due to invalid IL or missing references) + //IL_0024: Expected O, but got Unknown + //IL_002b: Unknown result type (might be due to invalid IL or missing references) + //IL_0030: Unknown result type (might be due to invalid IL or missing references) + //IL_003c: Unknown result type (might be due to invalid IL or missing references) + //IL_004d: Expected O, but got Unknown + //IL_0059: Unknown result type (might be due to invalid IL or missing references) + //IL_005e: Unknown result type (might be due to invalid IL or missing references) + //IL_006f: Expected O, but got Unknown + if (SelectedAgenda != null) + { + _ultimoId = ((DomainBase)SelectedAgenda).Id; + } + SelectedAgenda = new Agenda(); + Telefones = new ObservableCollection + { + new AgendaTelefone + { + Agenda = SelectedAgenda, + Tipo = (TipoTelefone)1 + } + }; + Emails = new ObservableCollection + { + new AgendaEmail + { + Agenda = SelectedAgenda + } + }; + Alterar(alterar: true); + } + + public async Task>> Salvar() + { + List> list = SelectedAgenda.Validate(); + List list2 = Telefones.Where((AgendaTelefone x) => !string.IsNullOrEmpty(((TelefoneBase)x).Numero)).ToList(); + List list3 = Emails.Where((AgendaEmail x) => !string.IsNullOrEmpty(((EmailBase)x).Email)).ToList(); + foreach (AgendaTelefone item in list2) + { + list.AddRange(item.Validate()); + } + foreach (AgendaEmail item2 in list3) + { + list.AddRange(item2.Validate()); + } + if (list.Count > 0) + { + return list; + } + SelectedAgenda.Telefones = new ObservableCollection(list2); + SelectedAgenda.Emails = new ObservableCollection(list3); + if (((DomainBase)SelectedAgenda).Id == 0L) + { + SelectedAgenda = await _servico.Save(SelectedAgenda); + if (!_servico.Sucesso) + { + return null; + } + Telefones = new ObservableCollection(SelectedAgenda.Telefones); + Emails = new ObservableCollection(SelectedAgenda.Emails); + Agendas.Add(SelectedAgenda); + AgendasFiltradas.Insert((_ultimoId != 0L) ? AgendasFiltradas.IndexOf(AgendasFiltradas.First((Agenda x) => ((DomainBase)x).Id == _ultimoId)) : 0, SelectedAgenda); + } + else + { + SelectedAgenda = await _servico.Save(SelectedAgenda); + if (!_servico.Sucesso) + { + return null; + } + Telefones = new ObservableCollection(SelectedAgenda.Telefones); + Emails = new ObservableCollection(SelectedAgenda.Emails); + DomainBase.Copy(Agendas.First((Agenda x) => ((DomainBase)x).Id == ((DomainBase)SelectedAgenda).Id), SelectedAgenda); + if (AgendasFiltradas.Count > 0 && AgendasFiltradas.Any((Agenda x) => ((DomainBase)x).Id == ((DomainBase)SelectedAgenda).Id)) + { + DomainBase.Copy(AgendasFiltradas.First((Agenda x) => ((DomainBase)x).Id == ((DomainBase)SelectedAgenda).Id), SelectedAgenda); + } + else + { + AgendasFiltradas.Add(SelectedAgenda); + } + } + AgendasFiltradas = new ObservableCollection(AgendasFiltradas); + SelectedAgenda = AgendasFiltradas.First((Agenda x) => ((DomainBase)x).Id == ((DomainBase)SelectedAgenda).Id); + Alterar(alterar: false); + return null; + } + + public void CancelarAlteracao() + { + //IL_00cc: Unknown result type (might be due to invalid IL or missing references) + //IL_00d6: Expected O, but got Unknown + //IL_00dd: Unknown result type (might be due to invalid IL or missing references) + //IL_00e2: Unknown result type (might be due to invalid IL or missing references) + //IL_00ee: Unknown result type (might be due to invalid IL or missing references) + //IL_00ff: Expected O, but got Unknown + //IL_010b: Unknown result type (might be due to invalid IL or missing references) + //IL_0110: Unknown result type (might be due to invalid IL or missing references) + //IL_0121: Expected O, but got Unknown + Carregando = true; + if (((DomainBase)SelectedAgenda).Id == 0L) + { + if (AgendasFiltradas.Count > 0 && AgendasFiltradas.Any((Agenda x) => ((DomainBase)x).Id == _ultimoId)) + { + SelectedAgenda = AgendasFiltradas.First((Agenda x) => ((DomainBase)x).Id == _ultimoId); + } + else + { + if (Agendas.Count <= 0 || !Agendas.Any((Agenda x) => ((DomainBase)x).Id == _ultimoId)) + { + SelectedAgenda = new Agenda(); + Telefones = new ObservableCollection + { + new AgendaTelefone + { + Agenda = SelectedAgenda, + Tipo = (TipoTelefone)1 + } + }; + Emails = new ObservableCollection + { + new AgendaEmail + { + Agenda = SelectedAgenda + } + }; + Alterar(alterar: false); + Carregando = false; + return; + } + AgendasFiltradas.Add(Agendas.First((Agenda x) => ((DomainBase)x).Id == _ultimoId)); + SelectedAgenda = AgendasFiltradas.First((Agenda x) => ((DomainBase)x).Id == _ultimoId); + } + } + else + { + DomainBase.Copy(Agendas.First((Agenda x) => ((DomainBase)x).Id == ((DomainBase)CancelAgenda).Id), CancelAgenda); + if (AgendasFiltradas.Count > 0 && AgendasFiltradas.Any((Agenda x) => ((DomainBase)x).Id == ((DomainBase)CancelAgenda).Id)) + { + DomainBase.Copy(AgendasFiltradas.First((Agenda x) => ((DomainBase)x).Id == ((DomainBase)CancelAgenda).Id), CancelAgenda); + } + else + { + AgendasFiltradas.Add(CancelAgenda); + } + AgendasFiltradas = new ObservableCollection(AgendasFiltradas); + SelectedAgenda = AgendasFiltradas.First((Agenda x) => ((DomainBase)x).Id == ((DomainBase)CancelAgenda).Id); + } + Alterar(alterar: false); + Carregando = false; + } + + public async Task Excluir() + { + if (SelectedAgenda == null || ((DomainBase)SelectedAgenda).Id == 0L) + { + return false; + } + if (!(await ShowMessage("DESEJA EXCLUIR?", "SIM", "NÃO"))) + { + return false; + } + Carregando = true; + if (!(await _servico.Delete(SelectedAgenda))) + { + Alterar(alterar: false); + Carregando = false; + return false; + } + int num = AgendasFiltradas.IndexOf(SelectedAgenda); + Agendas.Remove(SelectedAgenda); + AgendasFiltradas.Remove(SelectedAgenda); + AgendasFiltradas = new ObservableCollection(AgendasFiltradas); + if (AgendasFiltradas.Count > 0) + { + if (num >= AgendasFiltradas.Count) + { + await SelecionaAgenda(AgendasFiltradas.Last()); + } + else + { + await SelecionaAgenda(AgendasFiltradas.ElementAt(num)); + } + } + else + { + SelectedAgenda = new Agenda(); + Telefones = new ObservableCollection(); + Emails = new ObservableCollection(); + Alterar(alterar: false); + } + Carregando = false; + return true; + } + + internal async Task> Filtrar(string value) + { + return await Task.Run(() => FiltrarAgenda(value)); + } + + public List FiltrarAgenda(string filter) + { + AgendasFiltradas = (string.IsNullOrWhiteSpace(filter) ? new ObservableCollection(Agendas) : new ObservableCollection(from x in Agendas + where ValidationHelper.RemoveDiacritics(x.Nome.Trim()).ToUpper().Contains(ValidationHelper.RemoveDiacritics(filter)) + orderby x.Nome + select x)); + return AgendasFiltradas.ToList(); + } + + public async Task SelecionaAgenda(Agenda agenda = null) + { + Carregando = true; + SelectedAgenda = ((agenda == null) ? AgendasFiltradas.FirstOrDefault() : ((IEnumerable)AgendasFiltradas).FirstOrDefault((Func)((Agenda x) => ((DomainBase)x).Id == ((DomainBase)agenda).Id))); + if (SelectedAgenda != null) + { + Emails = await _servico.BuscarEmailsAsync(((DomainBase)SelectedAgenda).Id); + Telefones = await _servico.BuscarTelefonesAsync(((DomainBase)SelectedAgenda).Id); + } + else + { + Emails = null; + Telefones = null; + } + Carregando = false; + } +} -- cgit v1.2.3