private async Task Logar() { if (IsBusy) { return; } #region validação if (string.IsNullOrEmpty(Usuario)) { await Shell.Current.DisplayAlert("USUÁRIO", "Usuário não foi informado!", "Ok"); return; } if (Usuario.Length < 4) { await Shell.Current.DisplayAlert("USUÁRIO", "Usuário deve conter no mínimo 4 caracteres!", "Ok"); return; } if (Usuario == Senha) { await Shell.Current.DisplayAlert("SENHA", "Senha não pode ser igual ao Usuário!", "Ok"); return; } if (string.IsNullOrEmpty(Senha)) { await Shell.Current.DisplayAlert("SENHA", "Senha não foi informada!", "Ok"); return; } if (Senha.Length < 6) { await Shell.Current.DisplayAlert("SENHA", "Senha deve conter no mínimo 6 caracteres!", "Ok"); return; } if (Regex.Replace(Senha, "[a-zA-Z0-9]", "").Length == 0) { await Shell.Current.DisplayAlert("SENHA", "Senha deve conter no mínimo 1 caracter especial!", "Ok"); return; } #endregion IsBusy = true; var user = AcessoDAO.GetAcesso(Usuario); if (user != null && BCrypt.Net.BCrypt.Verify(Senha, user.ACE_SENHA)) { Util.USUARIOLOGADO = this.Usuario.ToString().Trim(); Preferences.Set("key_ultimoUsuario", this.Usuario.ToString().Trim()); await Shell.Current.GoToAsync("\\\\home\\inicio"); } else { await Shell.Current.DisplayAlert("DADOS INCORRETOS", "Acesso não autorizado!", "Ok"); } IsBusy = false; }
async Task Cadastrar() { if (IsBusy) { return; } #region validação if (string.IsNullOrEmpty(Usuario)) { await Shell.Current.DisplayAlert("USUÁRIO", "Usuário não foi informado!", "Ok"); return; } if (Usuario.Length < 4) { await Shell.Current.DisplayAlert("USUÁRIO", "Usuário deve conter no mínimo 4 caracteres!", "Ok"); return; } if (Usuario == Senha) { await Shell.Current.DisplayAlert("SENHA", "Senha não pode ser igual ao Usuário!", "Ok"); return; } if (string.IsNullOrEmpty(Senha)) { await Shell.Current.DisplayAlert("SENHA", "Senha não foi informada!", "Ok"); return; } if (Senha.Length < 6) { await Shell.Current.DisplayAlert("SENHA", "Senha deve conter no mínimo 6 caracteres!", "Ok"); return; } if (Regex.Replace(Senha, "[a-zA-Z0-9]", "").Length == 0) { await Shell.Current.DisplayAlert("SENHA", "Senha deve conter no mínimo 1 caracter especial!", "Ok"); return; } if (string.IsNullOrEmpty(ConfirmarSenha)) { await Shell.Current.DisplayAlert("CONFIRMAR SENHA", "Confirmação da Senha não foi informada!", "Ok"); return; } if (ConfirmarSenha != Senha) { await Shell.Current.DisplayAlert("CONFIRMAR SENHA", "Senha e Confirmação da Senha devem ser iguais!", "Ok"); return; } if (AcessoDAO.GetAcesso(Usuario) != null) { await Shell.Current.DisplayAlert("USUÁRIO", "Usuário ja esta em uso!", "Ok"); return; } #endregion IsBusy = true; try { if (AcessoDAO.Cadastrar(new Acesso() { ACE_USUARIO = Usuario, ACE_SENHA = BCrypt.Net.BCrypt.HashPassword(Senha, BCrypt.Net.BCrypt.GenerateSalt()) })) { await Shell.Current.DisplayAlert("SUCESSO", "Usuário cadastrado com sucesso!", "Ok"); await Shell.Current.Navigation.PopModalAsync(); } else { await Shell.Current.DisplayAlert("OPERAÇÃO CANCELADA", "Não foi possível cadastrar o usuário!", "Ok"); } } catch (Exception e) { Debug.WriteLine(e); } finally { IsBusy = false; } }