diff options
Diffstat (limited to 'Decompiler/Gestor.Application.ViewModels/LoginViewModel.cs')
| -rw-r--r-- | Decompiler/Gestor.Application.ViewModels/LoginViewModel.cs | 866 |
1 files changed, 866 insertions, 0 deletions
diff --git a/Decompiler/Gestor.Application.ViewModels/LoginViewModel.cs b/Decompiler/Gestor.Application.ViewModels/LoginViewModel.cs new file mode 100644 index 0000000..4298f27 --- /dev/null +++ b/Decompiler/Gestor.Application.ViewModels/LoginViewModel.cs @@ -0,0 +1,866 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Net; +using System.Net.Http; +using System.Reflection; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Input; +using Agger.Registro; +using Gestor.Application.Helpers; +using Gestor.Application.Servicos.Ferramentas; +using Gestor.Application.Servicos.Generic; +using Gestor.Application.ViewModels.Command; +using Gestor.Application.ViewModels.Generic; +using Gestor.Common.Security; +using Gestor.Common.Validation; +using Gestor.Model.Domain.Generic; +using Gestor.Model.Domain.Seguros; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; + +namespace Gestor.Application.ViewModels; + +internal class LoginViewModel : BaseSegurosViewModel +{ + private class AggerAccess + { + public long Id { get; set; } + + public Client Usuario { get; set; } + + public string Ip { get; set; } + + public string Acao { get; set; } + + public string Serial { get; set; } + + public DateTime? Data { get; set; } + + public string Log { get; set; } + } + + private class Client + { + public long Id { get; set; } + + public string Name { get; set; } + + public string Login { get; set; } + + public string Password { get; set; } + + public string Email { get; set; } + + public bool Deleted { get; set; } + + public bool AttendancePrivate { get; set; } + + public DateTime? DateLoginStart { get; set; } + + public DateTime? DateLoginFinal { get; set; } + + public DateTime? ExpirationPassDate { get; set; } + } + + private bool _enableRegistro; + + private bool _enableTrocaSenha; + + private bool _aggerUser; + + private string _imagemLink = "https://calendly.com/treinamentocs"; + + private string _imagem = "https://docs.agger.com.br/treinamentoprimeirasemana.png"; + + private string _head; + + private string _login; + + private string _novaNovaSenha; + + private string _senha; + + private string _confirmacaoSenha; + + private Usuario _usuario; + + private string userJson = AppDomain.CurrentDomain.BaseDirectory + "user.json"; + + private LoginImageModel _selectedImage; + + private int _selectedIndex; + + private string _version; + + private string _labelVersion = ""; + + private bool _loadingVisibility; + + private bool _fieldsVisibility; + + private string _errorLogin = "DADOS DE ACESSO INVÁLIDOS"; + + private Visibility _errorLoginVisibility = (Visibility)1; + + private Visibility _acessoVisibility = (Visibility)2; + + private Visibility _trocaSenhaVisibility = (Visibility)2; + + private Visibility _loginVisibility; + + private Visibility _registrarVisibility = (Visibility)2; + + private Visibility _visibilityCancelarRegitro = (Visibility)2; + + private string _chave; + + private string _mensagem; + + private string _centralAtendimento = Address.CentralAtendimento.ToString(); + + public static string VersaoAtual { get; set; } + + public bool EnableRegistro + { + get + { + return _enableRegistro; + } + set + { + _enableRegistro = value; + OnPropertyChanged("EnableRegistro"); + } + } + + public bool EnableTrocaSenha + { + get + { + return _enableTrocaSenha; + } + set + { + _enableTrocaSenha = value; + OnPropertyChanged("EnableTrocaSenha"); + } + } + + public bool AggerUser + { + get + { + return _aggerUser; + } + set + { + _aggerUser = value; + OnPropertyChanged("AggerUser"); + } + } + + public string ImagemLink + { + get + { + return _imagemLink; + } + set + { + _imagemLink = value; + OnPropertyChanged("ImagemLink"); + } + } + + public string Imagem + { + get + { + return _imagem; + } + set + { + _imagem = value; + OnPropertyChanged("Imagem"); + } + } + + public string Head + { + get + { + return _head; + } + set + { + _head = value?.ToUpper(); + OnPropertyChanged("Head"); + } + } + + public string Login + { + get + { + return _login; + } + set + { + _login = value; + string login = Login; + AggerUser = (login != null && login.ToUpper().StartsWith("AGGER@")) || (Senha?.ToUpper().StartsWith("AGGER@") ?? false); + OnPropertyChanged("Login"); + } + } + + public string NovaSenha + { + get + { + return _novaNovaSenha; + } + set + { + _novaNovaSenha = value; + EnableTrocaSenha = ValidationHelper.IsNotNullOrEmpty(NovaSenha) && ValidationHelper.IsNotNullOrEmpty(ConfirmacaoSenha) && NovaSenha.Equals(ConfirmacaoSenha); + OnPropertyChanged("NovaSenha"); + } + } + + public string Senha + { + get + { + return _senha; + } + set + { + _senha = value; + string login = Login; + AggerUser = (login != null && login.ToUpper().StartsWith("AGGER@")) || (Senha?.ToUpper().StartsWith("AGGER@") ?? false); + OnPropertyChanged("Senha"); + } + } + + public string ConfirmacaoSenha + { + get + { + return _confirmacaoSenha; + } + set + { + _confirmacaoSenha = value; + EnableTrocaSenha = ValidationHelper.IsNotNullOrEmpty(NovaSenha) && ValidationHelper.IsNotNullOrEmpty(ConfirmacaoSenha) && NovaSenha.Equals(ConfirmacaoSenha); + OnPropertyChanged("ConfirmacaoSenha"); + } + } + + public Usuario Usuario + { + get + { + return _usuario; + } + set + { + _usuario = value; + OnPropertyChanged("Usuario"); + } + } + + public ObservableCollection<LoginImageModel> LoginImages { get; set; } = new ObservableCollection<LoginImageModel>(); + + + public LoginImageModel SelectedImage + { + get + { + return _selectedImage; + } + set + { + _selectedImage = value; + OnPropertyChanged("SelectedImage"); + } + } + + public int SelectedIndex + { + get + { + return _selectedIndex; + } + set + { + _selectedIndex = value; + SelectedImage = LoginImages.ElementAtOrDefault(value); + OnPropertyChanged("SelectedIndex"); + } + } + + public ICommand ImageClickCommand => new RelayCommand(delegate + { + LoginImageModel selectedImage = SelectedImage; + if (selectedImage != null && ValidationHelper.IsNotNullOrEmpty(selectedImage.UrlFixa)) + { + Process.Start(new ProcessStartInfo + { + FileName = SelectedImage.UrlFixa, + UseShellExecute = true + }); + } + }); + + public string Version + { + get + { + return _version; + } + set + { + _version = value; + OnPropertyChanged("Version"); + } + } + + public string LabelVersion + { + get + { + return _labelVersion; + } + set + { + _labelVersion = value; + OnPropertyChanged("LabelVersion"); + } + } + + public bool LoadingVisibility + { + get + { + return _loadingVisibility; + } + set + { + _loadingVisibility = value; + OnPropertyChanged("LoadingVisibility"); + } + } + + public bool FieldsVisibility + { + get + { + return _fieldsVisibility; + } + set + { + _fieldsVisibility = value; + OnPropertyChanged("FieldsVisibility"); + } + } + + public string ErrorLogin + { + get + { + return _errorLogin; + } + set + { + _errorLogin = value; + OnPropertyChanged("ErrorLogin"); + } + } + + public Visibility ErrorLoginVisibility + { + get + { + //IL_0001: Unknown result type (might be due to invalid IL or missing references) + return _errorLoginVisibility; + } + 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) + _errorLoginVisibility = value; + OnPropertyChanged("ErrorLoginVisibility"); + } + } + + public Visibility AcessoVisibility + { + get + { + //IL_0001: Unknown result type (might be due to invalid IL or missing references) + return _acessoVisibility; + } + 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) + _acessoVisibility = value; + OnPropertyChanged("AcessoVisibility"); + } + } + + public Visibility TrocaSenhaVisibility + { + get + { + //IL_0001: Unknown result type (might be due to invalid IL or missing references) + return _trocaSenhaVisibility; + } + 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) + _trocaSenhaVisibility = value; + OnPropertyChanged("TrocaSenhaVisibility"); + } + } + + public Visibility LoginVisibility + { + get + { + //IL_0001: Unknown result type (might be due to invalid IL or missing references) + return _loginVisibility; + } + 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) + _loginVisibility = value; + OnPropertyChanged("LoginVisibility"); + } + } + + public Visibility RegistrarVisibility + { + get + { + //IL_0001: Unknown result type (might be due to invalid IL or missing references) + return _registrarVisibility; + } + 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) + _registrarVisibility = value; + OnPropertyChanged("RegistrarVisibility"); + } + } + + public Visibility VisibilityCancelarRegitro + { + get + { + //IL_0001: Unknown result type (might be due to invalid IL or missing references) + return _visibilityCancelarRegitro; + } + 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) + _visibilityCancelarRegitro = value; + OnPropertyChanged("VisibilityCancelarRegitro"); + } + } + + public string Chave + { + get + { + return _chave; + } + set + { + _chave = value; + EnableRegistro = ValidationHelper.IsNotNullOrEmpty(Chave); + OnPropertyChanged("Chave"); + } + } + + public string Mensagem + { + get + { + return _mensagem; + } + set + { + _mensagem = value; + OnPropertyChanged("Mensagem"); + } + } + + public string CentralAtendimento + { + get + { + return _centralAtendimento; + } + set + { + _centralAtendimento = value; + OnPropertyChanged("CentralAtendimento"); + } + } + + public LoginViewModel() + { + //IL_0053: Unknown result type (might be due to invalid IL or missing references) + //IL_005a: Unknown result type (might be due to invalid IL or missing references) + //IL_0061: Unknown result type (might be due to invalid IL or missing references) + //IL_0068: Unknown result type (might be due to invalid IL or missing references) + //IL_006f: Unknown result type (might be due to invalid IL or missing references) + base.EnableButtons = true; + ApplicationHelper.Versao = Assembly.GetExecutingAssembly().GetName().Version; + Version = ApplicationHelper.Versao.ToString(); + LabelVersion = "Gestor " + Version; + VersaoAtual = LabelVersion; + if (File.Exists(userJson)) + { + Usuario val = JsonConvert.DeserializeObject<Usuario>(File.ReadAllText(userJson)); + Login = ((val != null) ? val.Login : null); + } + } + + public async Task<bool> Load() + { + return await Task.Run(async delegate + { + try + { + return await new BaseServico().LoadInicialParameters(); + } + catch (Exception) + { + return false; + } + }); + } + + public async Task<bool> Validate(string login, string password) + { + ErrorLoginVisibility = (Visibility)1; + if (login.Contains("AGGER@")) + { + string[] array = login.Split(new char[1] { '@' }); + AggerAccess keyValues = new AggerAccess + { + Usuario = new Client + { + Login = array[1], + Password = new Token().AggerEncrypt(password) + }, + Acao = "AggerAccessNovoGestor", + Log = "ANG - " + ApplicationHelper.NumeroSerial, + Serial = ApplicationHelper.NumeroSerial + }; + AggerAccess aggerAccess = await Connection.Post("Access/AggerLogin", keyValues); + if (aggerAccess == null || !(aggerAccess.Usuario?.Id > 0)) + { + ErrorLoginVisibility = (Visibility)0; + return false; + } + Recursos.Usuario = new Usuario + { + Nome = "ACESSO AGGER - USUÁRIO " + aggerAccess.Usuario.Name, + Login = aggerAccess.Usuario.Login, + IdEmpresa = 1L, + PermissaoAggilizador = 1L + }; + Recursos.Empresa = new BaseServico().BuscarEmpresa(Recursos.Usuario.IdEmpresa); + return true; + } + Usuario usuario = await new BaseServico().BuscarUsuario(login, password); + string text = ((usuario != null) ? (await VerificarAcesso(((DomainBase)usuario).Id)) : "DADOS DE ACESSO INVÁLIDOS"); + string text2 = text; + if (text2 != null) + { + ErrorLogin = text2; + ErrorLoginVisibility = (Visibility)0; + return false; + } + Recursos.Usuario = usuario; + Recursos.Empresa = new BaseServico().BuscarEmpresa(Recursos.Usuario.IdEmpresa); + Recursos.Usuario.Senha = string.Empty; + File.WriteAllText(userJson, JsonConvert.SerializeObject((object)usuario)); + return true; + } + + public void AcessoNegado(string message) + { + Mensagem = message; + RegistrarVisibility = (Visibility)2; + LoginVisibility = (Visibility)2; + AcessoVisibility = (Visibility)0; + } + + public void AbrirRegistro() + { + LoginVisibility = (Visibility)2; + AcessoVisibility = (Visibility)2; + RegistrarVisibility = (Visibility)0; + VisibilityCancelarRegitro = (Visibility)((ApplicationHelper.IdFornecedor == 0L) ? 2 : 0); + Chave = string.Empty; + } + + public void FecharRegistro() + { + RegistrarVisibility = (Visibility)2; + LoginVisibility = (Visibility)0; + Chave = string.Empty; + } + + public async Task AbrirTrocaSenha() + { + UsuarioServico usuarioServico = new UsuarioServico(); + bool flag = ValidationHelper.IsNullOrEmpty(Senha) || ValidationHelper.IsNullOrEmpty(Login); + if (!flag) + { + bool flag2 = ValidationHelper.IsNotNullOrEmpty(Login); + if (flag2) + { + Usuario val2 = (Usuario = await usuarioServico.BuscarLogin(Login)); + flag2 = val2 == null; + } + flag = flag2; + } + if (flag) + { + await ShowMessage("NECESSÁRIO INSERIR UM USUÁRIO E SENHA VÁLIDOS PARA REALIZAR A TROCA DE SENHA."); + return; + } + TrocaSenhaVisibility = (Visibility)0; + LoginVisibility = (Visibility)2; + } + + public async Task<bool> TrocaSenha() + { + if (string.IsNullOrEmpty(Senha)) + { + await ShowMessage("NECESSÁRIO PREENCHER A SENHA ANTERIOR PARA REALIZAR A TROCA DE SENHA."); + return false; + } + if (string.IsNullOrEmpty(NovaSenha)) + { + await ShowMessage("NECESSÁRIO PREENCHER A NOVA SENHA PARA REALIZAR A TROCA DE SENHA."); + return false; + } + Token token = new Token(); + if (Senha == NovaSenha) + { + await ShowMessage("A NOVA SENHA NÃO PODE SER IGUAL A SENHA ANTERIOR."); + return false; + } + if (NovaSenha != ConfirmacaoSenha) + { + await ShowMessage("A SENHA E A CONFIRMAÇÃO DA SENHA DEVEM SER IGUAIS."); + return false; + } + if (Senha.ToUpper().Contains("AGGER@")) + { + string[] array = Senha.Split(new char[1] { '@' }); + if (array.Length < 3) + { + await ShowMessage("SENHA ANTERIOR INVÁLIDA."); + return false; + } + AggerAccess keyValues = new AggerAccess + { + Usuario = new Client + { + Login = array[1].ToUpper(), + Password = new Token().AggerEncrypt(array[2]) + }, + Acao = $"TrocaSenha - {((DomainBase)Usuario).Id}|{Usuario.Login}", + Log = "ANG - " + ApplicationHelper.NumeroSerial, + Serial = ApplicationHelper.NumeroSerial + }; + AggerAccess acesso; + try + { + acesso = await Connection.Post("Access/AggerLogin", keyValues); + } + catch (Exception ex) + { + _ = ex; + await ShowMessage("SENHA ANTERIOR INVÁLIDA."); + return false; + } + if (acesso == null || !(acesso.Usuario?.Id > 0)) + { + await ShowMessage("SENHA ANTERIOR INVÁLIDA."); + return false; + } + } + else if (ValidationHelper.IsNotNullOrEmpty(Usuario.Senha) && Senha != token.AggerDecrypt(Usuario.Senha)) + { + await ShowMessage("SENHA ANTERIOR INVÁLIDA."); + return false; + } + UsuarioServico servico = new UsuarioServico(); + Usuario.SenhaAnterior = token.AggerEncrypt(Senha); + Usuario.Senha = token.AggerEncrypt(NovaSenha); + await servico.Save(Usuario); + if (servico.Sucesso) + { + Senha = NovaSenha; + return true; + } + Usuario.SenhaAnterior = string.Empty; + Usuario.Senha = string.Empty; + await ShowMessage("VERIFIQUE OS DADOS DIGITADOS E TENTE NOVAMENTE."); + return false; + } + + public async Task GetImagesFromJson() + { + _ = 1; + try + { + HttpClient client = new HttpClient(); + try + { + ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; + client.Timeout = TimeSpan.FromSeconds(30.0); + HttpResponseMessage val; + try + { + val = await client.GetAsync(Address.LoginJson); + val.EnsureSuccessStatusCode(); + } + catch + { + return; + } + if (val.IsSuccessStatusCode) + { + JObject obj2 = JObject.Parse(await val.Content.ReadAsStringAsync()); + JToken obj3 = obj2["Imagem"]; + string text = ((obj3 != null) ? Extensions.Value<string>((IEnumerable<JToken>)obj3) : null); + JToken obj4 = obj2["Url"]; + string text2 = ((obj4 != null) ? Extensions.Value<string>((IEnumerable<JToken>)obj4) : null); + if (ValidationHelper.IsNotNullOrEmpty(text) && ValidationHelper.IsNotNullOrEmpty(text2)) + { + Imagem = text; + ImagemLink = text2; + } + } + } + finally + { + ((IDisposable)client)?.Dispose(); + } + } + catch + { + } + } + + public async Task<bool> GetCfgJson() + { + _ = 2; + try + { + HttpClient client = new HttpClient(); + try + { + ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; + client.Timeout = TimeSpan.FromSeconds(30.0); + HttpResponseMessage result; + try + { + result = await client.GetAsync(Address.JsonGestor); + result.EnsureSuccessStatusCode(); + } + catch + { + result = await client.GetAsync(Address.JsonGestorAzure); + } + if (result.IsSuccessStatusCode) + { + JObject obj2 = JObject.Parse(await result.Content.ReadAsStringAsync()); + JToken obj3 = obj2["ApiGestor"]; + string text = ((obj3 != null) ? Extensions.Value<string>((IEnumerable<JToken>)obj3) : null); + JToken obj4 = obj2["ApiGestorBeta"]; + string text2 = ((obj4 != null) ? Extensions.Value<string>((IEnumerable<JToken>)obj4) : null); + JToken obj5 = obj2["ApiAssinador"]; + string text3 = ((obj5 != null) ? Extensions.Value<string>((IEnumerable<JToken>)obj5) : null); + JToken obj6 = obj2["ApiAssinadorBeta"]; + string text4 = ((obj6 != null) ? Extensions.Value<string>((IEnumerable<JToken>)obj6) : null); + JToken obj7 = obj2["ApiCard"]; + string text5 = ((obj7 != null) ? Extensions.Value<string>((IEnumerable<JToken>)obj7) : null); + JToken obj8 = obj2["ApiAssistencia"]; + string text6 = ((obj8 != null) ? Extensions.Value<string>((IEnumerable<JToken>)obj8) : null); + JToken obj9 = obj2["ApiAD"]; + string text7 = ((obj9 != null) ? Extensions.Value<string>((IEnumerable<JToken>)obj9) : null); + JToken obj10 = obj2["ApiAttachment"]; + string text8 = ((obj10 != null) ? Extensions.Value<string>((IEnumerable<JToken>)obj10) : null); + JToken obj11 = obj2["ApiFipe"]; + string text9 = ((obj11 != null) ? Extensions.Value<string>((IEnumerable<JToken>)obj11) : null); + JToken obj12 = obj2["ApiSso"]; + string text10 = ((obj12 != null) ? Extensions.Value<string>((IEnumerable<JToken>)obj12) : null); + JToken obj13 = obj2["ApiCep"]; + string text11 = ((obj13 != null) ? Extensions.Value<string>((IEnumerable<JToken>)obj13) : null); + JToken obj14 = obj2["ApiMonitor"]; + string text12 = ((obj14 != null) ? Extensions.Value<string>((IEnumerable<JToken>)obj14) : null); + JToken obj15 = obj2["LoginJson"]; + string text13 = ((obj15 != null) ? Extensions.Value<string>((IEnumerable<JToken>)obj15) : null); + JToken obj16 = obj2["PromoJson"]; + string text14 = ((obj16 != null) ? Extensions.Value<string>((IEnumerable<JToken>)obj16) : null); + JToken obj17 = obj2["BetaPromoJson"]; + string text15 = ((obj17 != null) ? Extensions.Value<string>((IEnumerable<JToken>)obj17) : null); + JToken obj18 = obj2["SurveyJson"]; + string text16 = ((obj18 != null) ? Extensions.Value<string>((IEnumerable<JToken>)obj18) : null); + JToken obj19 = obj2["CentralAtendimento"]; + string text17 = ((obj19 != null) ? Extensions.Value<string>((IEnumerable<JToken>)obj19) : null); + JToken obj20 = obj2["UsarApis"]; + if (obj20 != null) + { + Extensions.Value<string>((IEnumerable<JToken>)obj20); + } + Address.ApiGestorOficial = text?.ToUri() ?? Address.ApiGestorOficial; + Address.ApiGestorBeta = text2?.ToUri() ?? Address.ApiGestorBeta; + Address.AssinadorApiOficial = text3?.ToUri() ?? Address.AssinadorApiOficial; + Address.AssinadorApiBeta = text4?.ToUri() ?? Address.AssinadorApiBeta; + Address.Card = text5?.ToUri() ?? Address.Card; + Address.Assistance = text6?.ToUri() ?? Address.Assistance; + Address.ApiAD = text7?.ToUri() ?? Address.ApiAD; + Address.ApiArquivo = text8?.ToUri() ?? Address.ApiArquivo; + Address.ApiFipe = text9?.ToUri() ?? Address.ApiFipe; + Address.ApiSso = text10?.ToUri() ?? Address.ApiSso; + Address.ApiMonitor = text12?.ToUri() ?? Address.ApiMonitor; + Address.ApiCep = text11?.ToUri() ?? Address.ApiCep; + Address.LoginJson = text13?.ToUri() ?? Address.LoginJson; + Address.SurveyJson = text16?.ToUri() ?? Address.SurveyJson; + Address.Promo = text14?.ToUri() ?? Address.Promo; + Address.BetaPromo = text15?.ToUri() ?? Address.BetaPromo; + Address.CentralAtendimento = text17?.ToUri() ?? Address.CentralAtendimento; + return true; + } + } + finally + { + ((IDisposable)client)?.Dispose(); + } + } + catch + { + } + return false; + } +} |