diff options
Diffstat (limited to 'Decompiler/Gestor.Application.ViewModels.Seguros/PerfilEmpresaViewModel.cs')
| -rw-r--r-- | Decompiler/Gestor.Application.ViewModels.Seguros/PerfilEmpresaViewModel.cs | 256 |
1 files changed, 256 insertions, 0 deletions
diff --git a/Decompiler/Gestor.Application.ViewModels.Seguros/PerfilEmpresaViewModel.cs b/Decompiler/Gestor.Application.ViewModels.Seguros/PerfilEmpresaViewModel.cs new file mode 100644 index 0000000..a119dd3 --- /dev/null +++ b/Decompiler/Gestor.Application.ViewModels.Seguros/PerfilEmpresaViewModel.cs @@ -0,0 +1,256 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using System.Windows; +using Gestor.Application.Helpers; +using Gestor.Application.Servicos.Seguros; +using Gestor.Application.ViewModels.Generic; +using Gestor.Model.Common; +using Gestor.Model.Domain.Generic; +using Gestor.Model.Domain.Seguros; +using Gestor.Model.Helper; +using Gestor.Model.Resources; + +namespace Gestor.Application.ViewModels.Seguros; + +public class PerfilEmpresaViewModel : BaseViewModel +{ + private readonly PerfilEmpresaServico _servico; + + private readonly Controle _controle; + + private Visibility _ativaCampos = (Visibility)2; + + private string _equipamentoSeguranca = ""; + + private string _equipamentoIncendio = ""; + + private bool _enableIncluirPerfil; + + private string _dataConstrucao; + + public long CancelPerfil; + + private PerfilEmpresa _selectedPerfilEmpresa = new PerfilEmpresa(); + + public Visibility AtivaCampos + { + get + { + //IL_0001: Unknown result type (might be due to invalid IL or missing references) + return _ativaCampos; + } + 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) + _ativaCampos = value; + OnPropertyChanged("AtivaCampos"); + } + } + + public string EquipamentoSeguranca + { + get + { + return _equipamentoSeguranca; + } + set + { + _equipamentoSeguranca = value; + OnPropertyChanged("EquipamentoSeguranca"); + } + } + + public string EquipamentoIncendio + { + get + { + return _equipamentoIncendio; + } + set + { + _equipamentoIncendio = value; + OnPropertyChanged("EquipamentoIncendio"); + } + } + + public bool EnableIncluirPerfil + { + get + { + return _enableIncluirPerfil; + } + set + { + _enableIncluirPerfil = value; + OnPropertyChanged("EnableIncluirPerfil"); + } + } + + public string DataConstrucao + { + get + { + return _dataConstrucao; + } + set + { + _dataConstrucao = value?.Replace(" ", ""); + OnPropertyChanged("DataConstrucao"); + } + } + + public PerfilEmpresa SelectedPerfilEmpresa + { + get + { + return _selectedPerfilEmpresa; + } + set + { + _selectedPerfilEmpresa = value; + if (value != null && ((DomainBase)value).Id > 0) + { + CancelPerfil = ((DomainBase)value).Id; + } + VerificarEnables((value != null) ? new long?(((DomainBase)value).Id) : null); + OnPropertyChanged("SelectedPerfilEmpresa"); + } + } + + public PerfilEmpresaViewModel(Controle controle) + { + //IL_0002: Unknown result type (might be due to invalid IL or missing references) + //IL_001e: Unknown result type (might be due to invalid IL or missing references) + //IL_0028: Expected O, but got Unknown + _servico = new PerfilEmpresaServico(); + _controle = controle; + Seleciona(((DomainBase)controle).Id); + } + + private async void Seleciona(long id) + { + Loading(isLoading: true); + await PermissaoTela((TipoTela)32); + await SelecionaPerfil(id); + Loading(isLoading: false); + } + + private async Task SelecionaPerfil(long id) + { + Loading(isLoading: true); + SelectedPerfilEmpresa = await _servico.BuscarPerfis(id); + if (SelectedPerfilEmpresa != null) + { + EquipamentoSeguranca = BindingEnumHelper.ConcatenarDescricoesEnum<EquipamentoSeguranca>(SelectedPerfilEmpresa.EquipamentoSeguranca); + EquipamentoIncendio = BindingEnumHelper.ConcatenarDescricoesEnum<EquipamentoIncendio>(SelectedPerfilEmpresa.EquipamentoIncendio); + if (SelectedPerfilEmpresa.AnoConstrucao.HasValue) + { + DataConstrucao = SelectedPerfilEmpresa.AnoConstrucao.Value.Year.ToString(); + } + } + else + { + EnableIncluirPerfil = true; + EquipamentoSeguranca = ""; + EquipamentoIncendio = ""; + } + Loading(isLoading: false); + } + + public void Incluir() + { + //IL_0000: Unknown result type (might be due to invalid IL or missing references) + //IL_0005: Unknown result type (might be due to invalid IL or missing references) + //IL_0011: Unknown result type (might be due to invalid IL or missing references) + //IL_0022: Unknown result type (might be due to invalid IL or missing references) + //IL_002e: Unknown result type (might be due to invalid IL or missing references) + //IL_003a: Unknown result type (might be due to invalid IL or missing references) + //IL_0046: Unknown result type (might be due to invalid IL or missing references) + //IL_0052: 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_006a: Unknown result type (might be due to invalid IL or missing references) + //IL_0077: Expected O, but got Unknown + PerfilEmpresa selectedPerfilEmpresa = new PerfilEmpresa + { + Controle = _controle, + Cliente = _controle.Cliente, + ExclusivoDeposito = false, + DivisaTerrenoBaldio = false, + PatrimonioHistorio = false, + PossuiTelhado = false, + CaixasEletronicos = false, + Isopainel = false, + ConstrucaoReforma = false + }; + SelectedPerfilEmpresa = selectedPerfilEmpresa; + Alterar(alterar: true); + } + + public async Task<List<KeyValuePair<string, string>>> Salvar() + { + List<KeyValuePair<string, string>> errorMessages = SelectedPerfilEmpresa.Validate(); + errorMessages = ValidateCampos(errorMessages); + if (errorMessages.Count > 0) + { + return errorMessages; + } + if (DataConstrucao != null && DataConstrucao != "") + { + SelectedPerfilEmpresa.AnoConstrucao = DateTime.Parse("01/01/" + DataConstrucao); + } + SelectedPerfilEmpresa = await _servico.Save(SelectedPerfilEmpresa); + if (!_servico.Sucesso) + { + return null; + } + await SelecionaPerfil(((DomainBase)_controle).Id); + ToggleSnackBar("PERFIL SALVO COM SUCESSO"); + Alterar(alterar: false); + return null; + } + + private List<KeyValuePair<string, string>> ValidateCampos(List<KeyValuePair<string, string>> errorMessages) + { + if (DataConstrucao == null) + { + ValidationHelper.AddValue<string, string>(errorMessages, "ANO DA CONSTRUÇÃO", Messages.DataInvalida, true); + } + if (!int.TryParse(DataConstrucao, out var _)) + { + ValidationHelper.AddValue<string, string>(errorMessages, "ANO DA CONSTRUÇÃO", Messages.DataInvalida, true); + } + if (DataConstrucao != null && int.TryParse(DataConstrucao, out var _) && (int.Parse(DataConstrucao) <= 1755 || int.Parse(DataConstrucao) >= 9999)) + { + ValidationHelper.AddValue<string, string>(errorMessages, "ANO DA CONSTRUÇÃO", Messages.DataInvalida, true); + } + return errorMessages; + } + + public void CancelarAlteracao() + { + Loading(isLoading: true); + Alterar(alterar: false); + Loading(isLoading: false); + } + + public async Task Excluir() + { + if (SelectedPerfilEmpresa != null && ((DomainBase)SelectedPerfilEmpresa).Id != 0L && await ShowMessage("DESEJA EXCLUIR?", "SIM", "NÃO")) + { + Loading(isLoading: true); + if (!(await _servico.Delete(SelectedPerfilEmpresa))) + { + Loading(isLoading: false); + return; + } + await SelecionaPerfil(((DomainBase)_controle).Id); + Loading(isLoading: false); + EnableIncluirPerfil = true; + AtivaCampos = (Visibility)2; + DataConstrucao = null; + ToggleSnackBar("PERFIL EXCLUÍDO COM SUCESSO"); + } + } +} |