Beispiel #1
0
        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);
 }