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 --- .../PatrimonialViewModel.cs | 530 +++++++++++++++++++++ 1 file changed, 530 insertions(+) create mode 100644 Decompiler/Gestor.Application.ViewModels.Seguros.Itens/PatrimonialViewModel.cs (limited to 'Decompiler/Gestor.Application.ViewModels.Seguros.Itens/PatrimonialViewModel.cs') diff --git a/Decompiler/Gestor.Application.ViewModels.Seguros.Itens/PatrimonialViewModel.cs b/Decompiler/Gestor.Application.ViewModels.Seguros.Itens/PatrimonialViewModel.cs new file mode 100644 index 0000000..d0e5947 --- /dev/null +++ b/Decompiler/Gestor.Application.ViewModels.Seguros.Itens/PatrimonialViewModel.cs @@ -0,0 +1,530 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Threading.Tasks; +using System.Windows; +using Gestor.Application.Actions; +using Gestor.Application.Componentes; +using Gestor.Application.Servicos.Seguros; +using Gestor.Application.Servicos.Seguros.Itens; +using Gestor.Application.ViewModels.Generic; +using Gestor.Model.Common; +using Gestor.Model.Domain.Generic; +using Gestor.Model.Domain.Seguros; + +namespace Gestor.Application.ViewModels.Seguros.Itens; + +public class PatrimonialViewModel : ItemViewModel, IDisposable +{ + private new readonly ItemServico _itemServico; + + private readonly PatrimonialServico _servico; + + private bool _allowAlterarExcluir = true; + + private object _cobertura; + + private string _codigoItem; + + private Item _selectedItem = new Item(); + + private Visibility _visibilityTipoMoradia = (Visibility)2; + + private Visibility _visibilityFianca = (Visibility)2; + + private Visibility _visibilityPatrimonial; + + private string _bensInformacoes = "BENS/INFORMAÇÕES"; + + private string _locatarioTomador1 = "LOCATÁRIO 1:"; + + private string _locatarioTomador2 = "LOCATÁRIO 2:"; + + private string _locatarioTomador3 = "LOCATÁRIO 3:"; + + private Visibility _visibilityDescricao = (Visibility)2; + + private Item ItemSelecionado { get; set; } + + private Ramo Ramo { get; } + + public bool Invoke { get; set; } + + public bool AllowAlterarExcluir + { + get + { + return _allowAlterarExcluir; + } + set + { + _allowAlterarExcluir = value; + OnPropertyChanged("AllowAlterarExcluir"); + } + } + + public object Cobertura + { + get + { + return _cobertura; + } + set + { + _cobertura = value; + OnPropertyChanged("Cobertura"); + } + } + + public string CodigoItem + { + get + { + return _codigoItem; + } + set + { + _codigoItem = value; + OnPropertyChanged("CodigoItem"); + } + } + + public Item SelectedItem + { + get + { + return _selectedItem; + } + set + { + _selectedItem = value; + VerificarEnables((value != null) ? new long?(((DomainBase)value).Id) : null); + OnPropertyChanged("SelectedItem"); + } + } + + public Visibility VisibilityTipoMoradia + { + get + { + //IL_0001: Unknown result type (might be due to invalid IL or missing references) + return _visibilityTipoMoradia; + } + 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) + _visibilityTipoMoradia = value; + OnPropertyChanged("VisibilityTipoMoradia"); + } + } + + public Visibility VisibilityFianca + { + get + { + //IL_0001: Unknown result type (might be due to invalid IL or missing references) + return _visibilityFianca; + } + 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) + _visibilityFianca = value; + OnPropertyChanged("VisibilityFianca"); + } + } + + public Visibility VisibilityPatrimonial + { + get + { + //IL_0001: Unknown result type (might be due to invalid IL or missing references) + return _visibilityPatrimonial; + } + 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) + _visibilityPatrimonial = value; + OnPropertyChanged("VisibilityPatrimonial"); + } + } + + public string BensInformacoes + { + get + { + return _bensInformacoes; + } + set + { + _bensInformacoes = value; + OnPropertyChanged("BensInformacoes"); + } + } + + public string LocatarioTomador1 + { + get + { + return _locatarioTomador1; + } + set + { + _locatarioTomador1 = value; + OnPropertyChanged("LocatarioTomador1"); + } + } + + public string LocatarioTomador2 + { + get + { + return _locatarioTomador2; + } + set + { + _locatarioTomador2 = value; + OnPropertyChanged("LocatarioTomador2"); + } + } + + public string LocatarioTomador3 + { + get + { + return _locatarioTomador3; + } + set + { + _locatarioTomador3 = value; + OnPropertyChanged("LocatarioTomador3"); + } + } + + public Visibility VisibilityDescricao + { + get + { + //IL_0001: Unknown result type (might be due to invalid IL or missing references) + return _visibilityDescricao; + } + 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) + _visibilityDescricao = value; + OnPropertyChanged("VisibilityDescricao"); + } + } + + public bool Garantia { get; set; } + + public PatrimonialViewModel(bool substituir = false, ManutencaoItem manutencao = null, Item itemSelecionado = null, Ramo ramo = null, bool endossoRenovacao = false) + { + //IL_0008: Unknown result type (might be due to invalid IL or missing references) + //IL_0012: Expected O, but got Unknown + //IL_0014: Unknown result type (might be due to invalid IL or missing references) + //IL_001b: Unknown result type (might be due to invalid IL or missing references) + //IL_004e: Unknown result type (might be due to invalid IL or missing references) + //IL_00a1: Unknown result type (might be due to invalid IL or missing references) + Invoke = itemSelecionado == null; + ItemSelecionado = itemSelecionado ?? ConsultaViewModel.ItemSelecionado; + Ramo = ramo ?? ConsultaViewModel.DocumentoSelecionado.Controle.Ramo; + if (Invoke) + { + ItemSelecionado = (Item)(((object)ItemSelecionado) ?? ((object)new Item())); + ItemSelecionado.Documento = ConsultaViewModel.DocumentoSelecionado; + } + _itemServico = new ItemServico(); + _servico = new PatrimonialServico(); + Seleciona(ItemSelecionado); + if (substituir) + { + Substituir(ItemSelecionado); + } + if (manutencao != null) + { + Manter(ItemSelecionado, manutencao); + } + AllowAlterarExcluir = !endossoRenovacao; + CarregaCobertura(); + } + + public void CarregaCobertura() + { + CoberturaViewModel.Item = ItemSelecionado; + CoberturaViewModel.Ramo = Ramo; + Cobertura = new CoberturaView(CoberturaViewModel); + } + + public void Descarregar() + { + Cobertura = null; + } + + public void Manter(Item item, ManutencaoItem manutencao) + { + //IL_0001: Unknown result type (might be due to invalid IL or missing references) + //IL_0007: Invalid comparison between Unknown and I4 + if ((int)manutencao.Tipo == 1) + { + base.ItemSubstituido = item; + } + Manter(manutencao); + base.Mantido = true; + } + + public void Manter(ManutencaoItem manutencao) + { + //IL_0077: Unknown result type (might be due to invalid IL or missing references) + List obj = CoberturaViewModel.Coberturas?.ToList(); + ((DomainBase)SelectedItem).Id = 0L; + ((DomainBase)SelectedItem.Patrimonial).Id = 0L; + Item selectedItem = SelectedItem; + Item itemSubstituido = base.ItemSubstituido; + selectedItem.Substituicao = ((itemSubstituido != null) ? new long?(((DomainBase)itemSubstituido).Id) : null); + SelectedItem.Documento = ItemSelecionado.Documento; + if ((int)manutencao.Tipo == 0) + { + SelectedItem.Sinistrado = false; + SelectedItem.Status = ""; + SelectedItem.Sinistro = null; + SelectedItem.Sinistros = null; + } + CoberturaViewModel.CarregaPadrao(); + CoberturaViewModel.Coberturas = new ObservableCollection(); + obj?.ForEach(delegate(Cobertura x) + { + x.Item = SelectedItem; + CoberturaViewModel.Coberturas.Add(x); + }); + Alterar(alterar: true); + } + + public async void Substituir(Item item) + { + base.ItemSubstituido = item; + await Incluir(substituir: true); + } + + private async void Seleciona(Item item) + { + Loading(isLoading: true); + await PermissaoTela((TipoTela)3); + await SelecionaItem(item); + Loading(isLoading: false); + } + + public async Task Incluir(bool substituir = false) + { + List coberturas = ((CoberturaViewModel.Coberturas == null) ? CoberturaViewModel.CarregaCoberturaPadrao().ToList() : CoberturaViewModel.Coberturas.ToList()); + Item val = new Item(); + val.Documento = ItemSelecionado.Documento; + Item val2 = val; + int? ordem = (substituir ? base.ItemSubstituido.Ordem : new int?(await QuantidadeDeItens(((DomainBase)ItemSelecionado.Documento.Controle).Id))); + val2.Ordem = ordem; + val.Patrimonial = new Patrimonial + { + Item = SelectedItem + }; + val.Substituicao = (substituir ? new long?(((DomainBase)base.ItemSubstituido).Id) : null); + Item item = val; + bool flag = !Garantia; + if (flag) + { + flag = await ShowMessage("COPIAR OS DADOS DE ENDEREÇO DO CLIENTE?", "SIM", "NÃO"); + } + if (flag) + { + ObservableCollection observableCollection = await new ClienteServico().BuscarEnderecosAsync(((DomainBase)item.Documento.Controle.Cliente).Id); + if (observableCollection != null && observableCollection.Any()) + { + List source = ((IEnumerable)observableCollection.OrderBy((ClienteEndereco x) => x.Ordem.GetValueOrDefault() == 1)).Select((Func)((ClienteEndereco e) => new Patrimonial + { + Endereco = ((EnderecoBase)e).Endereco, + Numero = ((EnderecoBase)e).Numero, + Complemento = ((EnderecoBase)e).Complemento, + Bairro = ((EnderecoBase)e).Bairro, + Cidade = ((EnderecoBase)e).Cidade, + Estado = ((EnderecoBase)e).Estado, + Cep = ((EnderecoBase)e).Cep + })).ToList(); + item.Patrimonial = (source.Any() ? source.Last() : null); + } + } + if (item.Ordem.GetValueOrDefault() == 2 && !(await ShowMessage("ESTA APÓLICE SERÁ UMA FROTA, DESEJA CONTINUAR?", "SIM", "NÃO"))) + { + return; + } + SelectedItem = item; + SelectedItem.Patrimonial.Item = item; + flag = item.Ordem > 1; + if (flag) + { + flag = await ShowMessage("DESEJA REPLICAR AS COBERTURAS DO ITEM SELECIONADO?", "SIM", "NÃO"); + } + if (flag) + { + CoberturaViewModel.Coberturas = new ObservableCollection(); + coberturas.ForEach(delegate(Cobertura x) + { + x.Item = SelectedItem; + CoberturaViewModel.Coberturas.Add(x); + }); + } + else + { + CoberturaViewModel.CarregaPadrao(); + } + if (substituir) + { + CoberturaViewModel.Coberturas = new ObservableCollection(); + coberturas.ForEach(delegate(Cobertura x) + { + x.Item = SelectedItem; + CoberturaViewModel.Coberturas.Add(x); + }); + } + Alterar(alterar: true); + } + + public async Task>> Salvar() + { + SelectedItem.Descricao = (((int)VisibilityPatrimonial == 0) ? (((EnderecoBase)SelectedItem.Patrimonial).Endereco + ", " + ((EnderecoBase)SelectedItem.Patrimonial).Numero + " - " + ((EnderecoBase)SelectedItem.Patrimonial).Complemento + " - " + ((EnderecoBase)SelectedItem.Patrimonial).Bairro + ", " + ((EnderecoBase)SelectedItem.Patrimonial).Cidade + " / " + ((EnderecoBase)SelectedItem.Patrimonial).Estado) : SelectedItem.Descricao); + List> list = SelectedItem.Validate(); + if (list.Count > 0) + { + return list; + } + Item selectedItem = SelectedItem; + selectedItem.Coberturas = await CoberturaViewModel.LimpaCoberturas(); + string status = ((SelectedItem.Documento.Ordem <= 0) ? "" : (base.Mantido ? $"ITEM ALTERADO NO ENDOSSO ORDEM {SelectedItem.Documento.Ordem}" : ((base.ItemSubstituido != null) ? $"SUBSTITUIÇÃO DO ITEM {base.ItemSubstituido.Ordem} NO ENDOSSO ORDEM {SelectedItem.Documento.Ordem}" : $"ITEM INCLUÍDO NO ENDOSSO ORDEM {SelectedItem.Documento.Ordem}"))); + if (((DomainBase)SelectedItem).Id == 0L) + { + SelectedItem.Status = status; + } + string acao = ((((DomainBase)SelectedItem).Id == 0L) ? "INCLUIU" : "ALTEROU"); + SelectedItem = await _itemServico.Save(SelectedItem); + if (!_itemServico.Sucesso) + { + return null; + } + if (base.ItemSubstituido != null) + { + string descricao = (base.Mantido ? $"ITEM ALTERADO NO ENDOSSO ORDEM {SelectedItem.Documento.Ordem}" : $"ITEM SUBSTITUIDO NO ENDOSSO ORDEM {SelectedItem.Documento.Ordem}"); + await _itemServico.Substituir(base.ItemSubstituido, ((DomainBase)SelectedItem).Id, descricao); + } + base.Mantido = false; + await SelecionaItem(SelectedItem, registrar: false); + ItemSelecionado = SelectedItem; + if (Invoke) + { + ConsultaViewModel.ItemSelecionado = SelectedItem; + } + ToggleSnackBar(Ramo.Nome + " SALVO COM SUCESSO"); + RegistrarAcao(acao + " ITEM DE DESCRIÇÃO \"" + SelectedItem.Descricao + "\"", ((DomainBase)SelectedItem).Id, (TipoTela)3, $"ID ITEM: {((DomainBase)SelectedItem).Id}\nID DOCUMENTO: {((DomainBase)SelectedItem.Documento).Id}\nRAMO: {SelectedItem.Documento.Controle.Ramo.Nome}\nCLIENTE: {SelectedItem.Documento.Controle.Cliente.Nome}\nID CLIENTE: {((DomainBase)SelectedItem.Documento.Controle.Cliente).Id}"); + Alterar(alterar: false); + return null; + } + + public async void CancelarAlteracao() + { + Loading(isLoading: true); + await SelecionaItem(ItemSelecionado, registrar: false); + await CoberturaViewModel.CancelarAlteracao(); + Alterar(alterar: false); + Loading(isLoading: false); + } + + public async Task Excluir() + { + if (SelectedItem == null || ((DomainBase)SelectedItem).Id == 0L) + { + return false; + } + if (!(await ShowMessage("DESEJA EXCLUIR?", "SIM", "NÃO"))) + { + return false; + } + Loading(isLoading: true); + bool num = await _servico.Delete(SelectedItem); + Loading(isLoading: false); + if (!num) + { + await ShowMessage("NÃO POSSÍVEL EXCLUIR O ITEM"); + return false; + } + RegistrarAcao("EXCLUIU ITEM DE DESCRIÇÃO \"" + SelectedItem.Descricao + "\"", ((DomainBase)SelectedItem).Id, (TipoTela)3, $"ID ITEM: {((DomainBase)SelectedItem).Id}\nID DOCUMENTO: {((DomainBase)SelectedItem.Documento).Id}\nRAMO: {SelectedItem.Documento.Controle.Ramo.Nome}\nCLIENTE: {SelectedItem.Documento.Controle.Cliente.Nome}\nID CLIENTE: {((DomainBase)SelectedItem.Documento.Controle.Cliente).Id}"); + ToggleSnackBar(Ramo.Nome + " EXCLUÍDO COM SUCESSO"); + return true; + } + + public async Task SelecionaItem(Item item, bool registrar = true) + { + if (item != null && LastAccessId == ((DomainBase)item).Id && (int)LastAccessTela == 9) + { + return; + } + base.Mantido = false; + if (!new List { 1L, 2L, 3L, 15L, 18L, 30L, 38L }.Contains(((DomainBase)Ramo).Id)) + { + return; + } + VisibilityTipoMoradia = (Visibility)((((DomainBase)Ramo).Id != 1) ? 2 : 0); + CoberturaViewModel.Ramo = Ramo; + if (CoberturaViewModel.CoberturasPadrao == null) + { + await CoberturaViewModel.SelectionaCoberturas(); + } + VisibilityFianca = (Visibility)((((DomainBase)Ramo).Id != 15 && ((DomainBase)Ramo).Id != 38) ? 2 : 0); + if (((DomainBase)Ramo).Id == 38) + { + HabilitaCamposGarantia(); + } + if (item == null || ((DomainBase)item).Id == 0L) + { + SelectedItem = null; + CoberturaViewModel.Coberturas = null; + base.IsVisible = (Visibility)0; + return; + } + Loading(isLoading: true); + item = await _itemServico.BuscarItemPorIdAsync(((DomainBase)item).Id); + Item val = item; + val.Patrimonial = await _itemServico.BuscaPatrimonial(((DomainBase)item).Id); + SelectedItem = item; + ((DomainBase)SelectedItem).Initialize(); + Initialized = true; + CoberturaViewModel.Item = item; + await CoberturaViewModel.CancelarAlteracao(); + if (registrar) + { + RegistrarAcao("ACESSOU ITEM DE DESCRIÇÃO \"" + SelectedItem.Descricao + "\"", ((DomainBase)SelectedItem).Id, (TipoTela)3, $"ID ITEM: {((DomainBase)SelectedItem).Id}\nID DOCUMENTO: {((DomainBase)SelectedItem.Documento).Id}\nRAMO: {SelectedItem.Documento.Controle.Ramo.Nome}\nCLIENTE: {SelectedItem.Documento.Controle.Cliente.Nome}\nID CLIENTE: {((DomainBase)SelectedItem.Documento.Controle.Cliente).Id}"); + } + LastAccessId = ((DomainBase)SelectedItem).Id; + LastAccessTela = (TipoTela)3; + CodigoItem = ((DomainBase)SelectedItem).Id.ToString(); + Loading(isLoading: false); + } + + private void HabilitaCamposGarantia() + { + VisibilityPatrimonial = (Visibility)((((DomainBase)Ramo).Id == 38) ? 2 : 0); + BensInformacoes = "OBSERVAÇÕES"; + LocatarioTomador1 = "TOMADOR 1:"; + LocatarioTomador2 = "TOMADOR 2:"; + LocatarioTomador3 = "TOMADOR 3:"; + VisibilityDescricao = (Visibility)0; + Garantia = true; + } + + public void Dispose() + { + Gestor.Application.Actions.Actions.UpdateItem = (Action)Delegate.Remove(Gestor.Application.Actions.Actions.UpdateItem, new Action(Seleciona)); + Gestor.Application.Actions.Actions.SubstituirItem = (Action)Delegate.Remove(Gestor.Application.Actions.Actions.SubstituirItem, new Action(Substituir)); + Gestor.Application.Actions.Actions.ManterItem = (Action)Delegate.Remove(Gestor.Application.Actions.Actions.ManterItem, new Action(Manter)); + } +} -- cgit v1.2.3