private async void LoginForm_VisibleChanged(object sender, EventArgs e) { if (!((LoginForm)sender).Visible) { Show(); /* Asynchronously initialize the Moodle API */ MoodleAPI moodleAPI = await Task.Run(() => { return(new MoodleAPI(Server)); }); /* Asynchronously verify the server information */ Dictionary <string, object> Response = await moodleAPI.GetUserProfile(0); if (Response.Keys.Contains("status") && (bool)Response["status"]) { /* If all is good, continie to the MainForm */ Console.WriteLine("Here safe and sound"); MainForm mainForm = new MainForm(Server); Hide(); //((LoginForm)sender).Close(); mainForm.Show(); return; } else if (Response.Keys.Contains("errorcode") && Response.Keys.Contains("message")) { /* Display error message */ ((LoginForm)sender).Text = $"Login - {(string)Response["message"]}"; } else { /* Display error message */ ((LoginForm)sender).Text = "Login - Unknown error / unable to parse moodle's response"; } /* If the login failed, prompt user to try again */ Hide(); ((LoginForm)sender).Style = MetroFramework.MetroColorStyle.Red; ((LoginForm)sender).Visible = true; } }
public MainForm(IDictionary <string, string> Server) { InitializeComponent(); moodleAPI = new MoodleAPI(Server); }