Pessoal, estou fazendo uma validação de login e senha. Tenho uma lista de todos os usuários cadastrados com seus logins e senhas e preciso comparar se o que for digitado na console bate com o login e senha e então permitir ou não o acesso.
Mas tenho uma classe para a minha lista de usuários e outra para a validação de senha.
O que não consigo fazer é acessar a list criada em usuários a partir da classe validação de senha, segue código:
namespace CodificacaoPeca { public class ListaDeUsuarios { private int senhaCorreta;
public bool validacaoLogin { get; set; }
List<Usuario> listaUs = new List<Usuario>();
public void LerListaParaValidacao(string LoginDigitado, string senhaDigitada) //Esse método serve para validar LOGIN e SENHA.
{
Console.WriteLine();
Console.WriteLine("------------------------------");
Console.WriteLine("VALIDAÇÃO DE LOGIN INICIADA");
Console.WriteLine();
Console.WriteLine($"Login digitado: {LoginDigitado} Senha digitada: {senhaDigitada}");
Console.WriteLine();
foreach (var code in listaUs)
{
Console.WriteLine($"Nome: {code.Nome}; Login: {code.Login}");
if (code.Login == LoginDigitado)
{
do
{
senhaCorreta = ValidarSenha(senhaDigitada, code.Senha);
if (senhaCorreta == 0)
{
Tentar3Vezes(code.Senha);
}
} while (senhaCorreta == 0);
validacaoLogin = true;
}
else
{
Console.WriteLine("Usuário ou senha incorretos.");
Console.WriteLine();
}
}
}
private int ValidarSenha(string senhaDigitada2, string codeSenha)
{
int senhaCorreta1;
if (senhaDigitada2 == codeSenha)
{
Console.WriteLine("Login e senha autenticados");
senhaCorreta1 = 1;
}
else
{
Console.WriteLine("Senha incorreta");
senhaCorreta1 = 0;
}
return senhaCorreta1;
}
public void Tentar3Vezes(string codeSenha)
{
for (int i = 0; i <= 1 ; i++)
{
Console.WriteLine($"Tentativas restantes: [{2 - i}]");
Console.WriteLine("Digite a senha novamente:");
string senhaTentativa = Console.ReadLine();
senhaCorreta = ValidarSenha(senhaTentativa, codeSenha);
if (senhaCorreta == 1)
{
break;
}
else
{
senhaCorreta = 2;
}
}
if (senhaCorreta == 2)
{
Console.WriteLine("Login e/ou senha inválidos.");
}
}
}
}