summaryrefslogtreecommitdiff
path: root/Decompiler/Gestor.Application.ViewModels.Ferramentas/CadastroParceiroViewModel.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/CadastroParceiroViewModel.cs
parent1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1 (diff)
downloadgestor-225aa1499e37faf9d38257caabbadc68d78b427e.tar.gz
gestor-225aa1499e37faf9d38257caabbadc68d78b427e.zip
decompiler.com
Diffstat (limited to 'Decompiler/Gestor.Application.ViewModels.Ferramentas/CadastroParceiroViewModel.cs')
-rw-r--r--Decompiler/Gestor.Application.ViewModels.Ferramentas/CadastroParceiroViewModel.cs273
1 files changed, 273 insertions, 0 deletions
diff --git a/Decompiler/Gestor.Application.ViewModels.Ferramentas/CadastroParceiroViewModel.cs b/Decompiler/Gestor.Application.ViewModels.Ferramentas/CadastroParceiroViewModel.cs
new file mode 100644
index 0000000..b0abb9b
--- /dev/null
+++ b/Decompiler/Gestor.Application.ViewModels.Ferramentas/CadastroParceiroViewModel.cs
@@ -0,0 +1,273 @@
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Threading.Tasks;
+using Gestor.Application.Helpers;
+using Gestor.Application.Servicos;
+using Gestor.Application.Servicos.Generic;
+using Gestor.Application.ViewModels.Generic;
+using Gestor.Common.Validation;
+using Gestor.Model.Common;
+using Gestor.Model.Domain.Generic;
+using Gestor.Model.Domain.Seguros;
+
+namespace Gestor.Application.ViewModels.Ferramentas;
+
+public class CadastroParceiroViewModel : BaseSegurosViewModel
+{
+ private readonly ParceiroServico _servico;
+
+ private Parceiro _selectedParceiro;
+
+ private ObservableCollection<Parceiro> _parceirosFiltrados = new ObservableCollection<Parceiro>();
+
+ private bool _isExpanded;
+
+ public Parceiro CancelParceiro;
+
+ private Item _selectedItem = new Item();
+
+ public List<Parceiro> Parceiros { get; set; }
+
+ public Parceiro SelectedParceiro
+ {
+ get
+ {
+ return _selectedParceiro;
+ }
+ set
+ {
+ _selectedParceiro = value;
+ WorkOnSelectedParceiro(value);
+ VerificarEnables((value != null) ? new long?(((DomainBase)value).Id) : null);
+ OnPropertyChanged("SelectedParceiro");
+ }
+ }
+
+ public ObservableCollection<Parceiro> ParceirosFiltrados
+ {
+ get
+ {
+ return _parceirosFiltrados;
+ }
+ set
+ {
+ _parceirosFiltrados = value;
+ IsExpanded = value != null && value.Count > 0;
+ OnPropertyChanged("ParceirosFiltrados");
+ }
+ }
+
+ public bool IsExpanded
+ {
+ get
+ {
+ return _isExpanded;
+ }
+ set
+ {
+ _isExpanded = value;
+ OnPropertyChanged("IsExpanded");
+ }
+ }
+
+ public Item SelectedItem
+ {
+ get
+ {
+ return _selectedItem;
+ }
+ set
+ {
+ _selectedItem = value;
+ OnPropertyChanged("SelectedItem");
+ }
+ }
+
+ public CadastroParceiroViewModel(Parceiro parceiro)
+ {
+ //IL_000c: Unknown result type (might be due to invalid IL or missing references)
+ //IL_0016: Expected O, but got Unknown
+ _servico = new ParceiroServico();
+ base.EnableMenu = true;
+ Seleciona(parceiro);
+ }
+
+ private async void Seleciona(Parceiro parceiro)
+ {
+ Loading(isLoading: true);
+ await PermissaoTela((TipoTela)22);
+ await SelecionaParceiro(parceiro);
+ Loading(isLoading: false);
+ }
+
+ public async void SelecionarParceiro(Parceiro parceiro)
+ {
+ if (parceiro == null)
+ {
+ SelectedParceiro = null;
+ return;
+ }
+ Parceiro val = await _servico.BuscarParceiro(((DomainBase)parceiro).Id);
+ DomainBase.Copy<Parceiro, Parceiro>(ParceirosFiltrados.First((Parceiro x) => ((DomainBase)x).Id == ((DomainBase)parceiro).Id), val);
+ SelectedParceiro = ParceirosFiltrados.First((Parceiro x) => ((DomainBase)x).Id == ((DomainBase)parceiro).Id);
+ }
+
+ private async Task SelecionaParceiro(Parceiro parceiro = null)
+ {
+ Loading(isLoading: true);
+ Parceiros = (await new BaseServico().BuscarParceirosAsync()).OrderBy((Parceiro x) => x.Nome).ToList();
+ ParceirosFiltrados = new ObservableCollection<Parceiro>(Parceiros);
+ SelecionarParceiro(parceiro ?? ParceirosFiltrados.FirstOrDefault());
+ Loading(isLoading: false);
+ }
+
+ private async void WorkOnSelectedParceiro(Parceiro value, bool registrar = true)
+ {
+ CancelParceiro = (Parceiro)((value == null || ((DomainBase)value).Id == 0L) ? ((object)CancelParceiro) : ((object)(Parceiro)((DomainBase)value).Clone()));
+ if (value == null || ((DomainBase)value).Id == 0L || (LastAccessId == ((DomainBase)value).Id && (int)LastAccessTela == 22))
+ {
+ return;
+ }
+ if (registrar)
+ {
+ RegistrarAcao("ACESSOU PARCEIRO \"" + value.Nome + "\"", ((DomainBase)value).Id, (TipoTela)22, "DOCUMENTO: " + value.Cgccpf + "\nTELEFONE 1: (" + value.Ddd1 + ") " + value.Telefone1 + "\nTELEFONE 2: (" + value.Ddd2 + ") " + value.Telefone2 + "\nTELEFONE 3: (" + value.Ddd3 + ") " + value.Telefone3 + "\nE-MAIL: " + value.Email + "\n\nENDEREÇO: " + value.Endereco + ", " + value.Numero + ", " + (string.IsNullOrWhiteSpace(value.Complemento) ? "-" : (value.Complemento ?? "")) + ", " + value.Bairro + ", " + value.Cidade + "/" + value.Uf + " - " + value.Cep);
+ }
+ LastAccessId = ((DomainBase)value).Id;
+ LastAccessTela = (TipoTela)22;
+ Parceiro selectedParceiro = SelectedParceiro;
+ if (((selectedParceiro != null) ? new long?(((DomainBase)selectedParceiro).Id) : null) != ((DomainBase)value).Id)
+ {
+ Parceiro val = await _servico.BuscarParceiro(((DomainBase)value).Id);
+ DomainBase.Copy<Parceiro, Parceiro>(SelectedParceiro, val);
+ Parceiro selectedParceiro2 = SelectedParceiro;
+ if (selectedParceiro2 != null)
+ {
+ ((DomainBase)selectedParceiro2).Initialize();
+ }
+ Initialized = true;
+ }
+ }
+
+ internal async Task<List<Parceiro>> Filtrar(string value)
+ {
+ return await Task.Run(() => FiltrarParceiro(value));
+ }
+
+ public List<Parceiro> FiltrarParceiro(string filter)
+ {
+ ParceirosFiltrados = (string.IsNullOrWhiteSpace(filter) ? new ObservableCollection<Parceiro>(Parceiros) : new ObservableCollection<Parceiro>(Parceiros.Where((Parceiro x) => ValidationHelper.RemoveDiacritics(x.Nome.Trim()).ToUpper().Contains(ValidationHelper.RemoveDiacritics(filter)))));
+ return ParceirosFiltrados.ToList();
+ }
+
+ public void Incluir()
+ {
+ //IL_0001: Unknown result type (might be due to invalid IL or missing references)
+ //IL_000b: Expected O, but got Unknown
+ SelectedParceiro = new Parceiro();
+ Alterar(alterar: true);
+ }
+
+ public void CancelarAlteracao()
+ {
+ if (CancelParceiro != null && Parceiros.Any((Parceiro x) => ((DomainBase)x).Id == ((DomainBase)CancelParceiro).Id))
+ {
+ DomainBase.Copy<Parceiro, Parceiro>(Parceiros.First((Parceiro x) => ((DomainBase)x).Id == ((DomainBase)CancelParceiro).Id), CancelParceiro);
+ if (ParceirosFiltrados.Count > 0 && ParceirosFiltrados.Any((Parceiro x) => ((DomainBase)x).Id == ((DomainBase)CancelParceiro).Id))
+ {
+ DomainBase.Copy<Parceiro, Parceiro>(ParceirosFiltrados.First((Parceiro x) => ((DomainBase)x).Id == ((DomainBase)CancelParceiro).Id), CancelParceiro);
+ }
+ else
+ {
+ ParceirosFiltrados.Add(CancelParceiro);
+ }
+ ParceirosFiltrados = new ObservableCollection<Parceiro>(ParceirosFiltrados);
+ SelecionarParceiro(ParceirosFiltrados.First((Parceiro x) => ((DomainBase)x).Id == ((DomainBase)CancelParceiro).Id));
+ }
+ else
+ {
+ Incluir();
+ }
+ Alterar(alterar: false);
+ }
+
+ public async Task<List<KeyValuePair<string, string>>> Salvar()
+ {
+ List<KeyValuePair<string, string>> list = SelectedParceiro.Validate();
+ if (list.Count > 0)
+ {
+ return list;
+ }
+ string acao = ((((DomainBase)SelectedParceiro).Id == 0L) ? "INCLUIU" : "ALTEROU");
+ Parceiro value = await _servico.Save(SelectedParceiro);
+ if (!_servico.Sucesso)
+ {
+ return null;
+ }
+ RegistrarAcao(acao + " PARCEIRO \"" + value.Nome + "\"", ((DomainBase)value).Id, (TipoTela)22, "DOCUMENTO: " + value.Cgccpf + "\nTELEFONE 1: (" + value.Ddd1 + ") " + value.Telefone1 + "\nTELEFONE 2: (" + value.Ddd2 + ") " + value.Telefone2 + "\nTELEFONE 3: (" + value.Ddd3 + ") " + value.Telefone3 + "\nE-MAIL: " + value.Email + "\n\nENDEREÇO: " + value.Endereco + ", " + value.Numero + ", " + (string.IsNullOrWhiteSpace(value.Complemento) ? "-" : (value.Complemento ?? "")) + ", " + value.Bairro + ", " + value.Cidade + "/" + value.Uf + " - " + value.Cep);
+ if (Parceiros.Any((Parceiro x) => ((DomainBase)x).Id == ((DomainBase)value).Id))
+ {
+ DomainBase.Copy<Parceiro, Parceiro>(Parceiros.First((Parceiro x) => ((DomainBase)x).Id == ((DomainBase)value).Id), value);
+ }
+ else
+ {
+ Parceiros.Add(value);
+ }
+ if (ParceirosFiltrados.Any((Parceiro x) => ((DomainBase)x).Id == ((DomainBase)value).Id))
+ {
+ DomainBase.Copy<Parceiro, Parceiro>(ParceirosFiltrados.First((Parceiro x) => ((DomainBase)x).Id == ((DomainBase)value).Id), value);
+ }
+ else
+ {
+ ParceirosFiltrados.Add(value);
+ }
+ ParceirosFiltrados = new ObservableCollection<Parceiro>(ParceirosFiltrados);
+ Recursos.Parceiros = Parceiros;
+ WorkOnSelectedParceiro(value, registrar: false);
+ Alterar(alterar: false);
+ ToggleSnackBar("PARCEIRO SALVO COM SUCESSO");
+ return null;
+ }
+
+ public async void Excluir()
+ {
+ if (SelectedParceiro == null || ((DomainBase)SelectedParceiro).Id == 0L)
+ {
+ return;
+ }
+ if (await new BaseServico().ParceiroUtilizado(((DomainBase)SelectedParceiro).Id))
+ {
+ await ShowMessage("PARCEIRO NÃO PODE SER EXCLUÍDO POIS ESTÁ SENDO UTILIZADO.");
+ }
+ else
+ {
+ if (!(await ShowMessage("DESEJA EXCLUIR?", "SIM", "NÃO")))
+ {
+ return;
+ }
+ Loading(isLoading: true);
+ if (!(await _servico.Delete(SelectedParceiro)))
+ {
+ Loading(isLoading: false);
+ return;
+ }
+ RegistrarAcao("EXCLUIU O PARCEIRO \"" + SelectedParceiro.Nome + "\"", ((DomainBase)SelectedParceiro).Id, (TipoTela)22, "DOCUMENTO: " + SelectedParceiro.Cgccpf + "\nTELEFONE 1: (" + SelectedParceiro.Ddd1 + ") " + SelectedParceiro.Telefone1 + "\nTELEFONE 2: (" + SelectedParceiro.Ddd2 + ") " + SelectedParceiro.Telefone2 + "\nTELEFONE 3: (" + SelectedParceiro.Ddd3 + ") " + SelectedParceiro.Telefone3 + "\nE-MAIL: " + SelectedParceiro.Email + "\n\nENDEREÇO: " + SelectedParceiro.Endereco + ", " + SelectedParceiro.Numero + ", " + (string.IsNullOrWhiteSpace(SelectedParceiro.Complemento) ? "-" : (SelectedParceiro.Complemento ?? "")) + ", " + SelectedParceiro.Bairro + ", " + SelectedParceiro.Cidade + "/" + SelectedParceiro.Uf + " - " + SelectedParceiro.Cep);
+ int num = ParceirosFiltrados.IndexOf(SelectedParceiro);
+ Parceiros.Remove(SelectedParceiro);
+ ParceirosFiltrados.Remove(SelectedParceiro);
+ ParceirosFiltrados = new ObservableCollection<Parceiro>(ParceirosFiltrados);
+ if (ParceirosFiltrados.Count > 0)
+ {
+ SelecionarParceiro((num < ParceirosFiltrados.Count) ? ParceirosFiltrados.ElementAt(num) : ParceirosFiltrados.Last());
+ }
+ else
+ {
+ Incluir();
+ Alterar(alterar: false);
+ base.EnableMenu = false;
+ }
+ Loading(isLoading: false);
+ ToggleSnackBar("PARCEIRO EXCLUÍDO COM SUCESSO");
+ }
+ }
+}