public Tuple <ulong, ulong?, string> logar(Login login) { username = username.ToUpperInvariant(); List <Usuario> listaUsuario = new List <Usuario>(1); try { using (Conexao.GetInstance) { Conexao.Abrir(); ICRUD <Usuario> ControllerUsuario = new CtrlUsuario(Conexao.GetInstance); listaUsuario = ControllerUsuario.Listar().ToList(); Conexao.Fechar(); } } catch (Exception ex) { return(new Tuple <ulong, ulong?, string>(0, 0, ex.ToString())); } foreach (Usuario usuario in listaUsuario) { string curStoredUsername = usuario.Login.ToUpperInvariant(); storedPassword = usuario.Senha; if (curStoredUsername == username) { //OBS: IdUsuario e IdAcesso deveriam ser do tipo 'ulong' e 'ulong?', não 'int' e 'int?'. id = (ulong)usuario.IdUsuario; idAcesso = (ulong)usuario.IdAcesso; validouSenha = CryptoHash.Verify(storedPassword, password); } else { CryptoHash.Verify(storedPassword, password); } } if (validouSenha) { return(new Tuple <ulong, ulong?, string>(id, idAcesso, username)); } return(new Tuple <ulong, ulong?, string>(0, 0, null)); }