// Abre a view para o utilizador realizar o login private void ButtonLogin_Click(object sender, EventArgs e) { buttonRegister.Enabled = false; buttonLogin.Enabled = false; // Se o login for feito com sucesso if (Program.LoginView.ShowDialog() == DialogResult.OK) { labelOutcome.Visible = false; buttonLogin.Visible = false; buttonRegister.Visible = false; textboxWelcome.Text = Program.AuthUser.Username.ToString(); buyGames_button.Enabled = true; buyGames_button.Visible = true; play_button.Enabled = true; play_button.Visible = true; Button_gotoCreditBank.Enabled = true; Button_gotoCreditBank.Visible = true; // Obter o número total de jogos do utilizador no caso do login ser bem sucedido. GRPCGetGames?.Invoke(); } else { buttonLogin.Enabled = true; buttonRegister.Enabled = true; } }
// De forma a atualizar o número de jogos que o jogar ainda pode fazer, na AuthView (depois de ter sido feita a autenticação), sempre que a visibilidade da view mudar, o evento que faz essa atualização é chamado. private void AuthView_VisibleChanged(object sender, EventArgs e) { // No caso do utilziador estar autenticado. if (Program.AuthUser != null) { // Obter o número total de jogos do utilizador GRPCGetGames?.Invoke(); } }
// Depois de se ter enviado o evento APIValidateReference para o creditBankController, de forma a validar a referência, no caso desta ser válida, será chamado este método, que alterará a view para o estado inicial e enviará um evento para o AuthController para obter do servidor, o número atual de jogos do utilizador (este evento depois chamará o método SetGames). internal void ValidateReference() { // Obter o número total de jogos do utilizador GRPCGetGames?.Invoke(); // Reset da view para o estado inicial buyGames_button.Text = "Buy games"; invalidReference_label.Visible = false; insertReference_label.Visible = false; reference_textBox.Visible = false; }