Ejemplo n.º 1
0
        private void ButtonLogin_Click(object sender, EventArgs e)
        {
            if (!(textBoxEmail.Text == "Email") && !(textBoxPassword.Text == "Password") && !(string.IsNullOrWhiteSpace(textBoxEmail.Text)) && !(string.IsNullOrWhiteSpace(textBoxPassword.Text)))
            {
                LoadingForm loadingForm = new LoadingForm();
                loadingForm.Show();

                loadingForm.Step(20);
                var           controller = new UserController();
                Argon2Hashing hashing    = new Argon2Hashing();
                try
                {
                    FacultyUserModel faculty = controller.GetByEmail(textBoxEmail.Text);
                    if (faculty == null)
                    {
                        textBoxPassword.Clear();
                        textBoxPassword.Focus();
                    }
                    else
                    {
                        //Console.WriteLine("Got hash: " + faculty.Password);
                        //Console.WriteLine("Got salt: " + faculty.salt);
                        //Console.WriteLine("Verification: " + hashing.VerifyHash(textBoxPassword.Text, Convert.FromBase64String(faculty.salt), Convert.FromBase64String(faculty.Password)));
                        loadingForm.Step(20);
                        if (hashing.VerifyHash(textBoxPassword.Text, Convert.FromBase64String(faculty.salt), Convert.FromBase64String(faculty.Password)))
                        {
                            loadingForm.Step(60);
                            loadingForm.Close();
                            var dash = new FormDashboard(faculty);
                            dash.FormClosed += new FormClosedEventHandler(dash_FormClosed);
                            dash.Show();
                            this.Hide();
                        }
                        else
                        {
                            MessageBox.Show("Incorrect email or password. Please try again");
                        }
                    }
                }catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                loadingForm.Close();
            }
            else
            {
                MessageBox.Show("Please insert your login credentials first");
            }
        }
Ejemplo n.º 2
0
        private void ButtonSignUp_Click(object sender, EventArgs e)
        {
            if (!(textBoxFirstNameSignUp.Text == "First Name") && !(textBoxLastNameSignUp.Text == "Last Name"))
            {
                if (textBoxPassSignUp.Text == textBoxConfirmPassSignUp.Text)
                {
                    LoadingForm loading = new LoadingForm();
                    loading.Show();
                    FacultyUserModel faculty = new FacultyUserModel();
                    faculty.AcademicId = textBoxAcademicIdSignUp.Text;
                    faculty.FirstName  = textBoxFirstNameSignUp.Text.Trim();
                    faculty.LastName   = textBoxLastNameSignUp.Text.Trim();
                    faculty.Email      = textBoxEmailSignup.Text.ToLower().Trim();
                    faculty.Password   = textBoxPassSignUp.Text;

                    try
                    {
                        faculty.IsValid();
                        loading.Step(20);
                        //hashing now
                        Argon2Hashing hashing = new Argon2Hashing();
                        faculty.salt     = Convert.ToBase64String(hashing.CreateSalt());
                        faculty.Password = Convert.ToBase64String(hashing.HashPassword(textBoxPassSignUp.Text, Convert.FromBase64String(faculty.salt)));
                        loading.Step(20);
                        //hashing done
                        //Console.WriteLine("Salt: " + faculty.salt);
                        //Console.WriteLine("Hashed password: "******"Verify hash: " + hashing.VerifyHash(textBoxPassSignUp.Text, Convert.FromBase64String(faculty.salt), Convert.FromBase64String(faculty.Password)));
                        loading.Step(20);
                        try
                        {
                            var controller = new UserController();
                            controller.Create(faculty);
                            loading.Step(20);
                            loading.Close();
                            MessageBox.Show("Account created. Please login with your email and password");
                            buttonCancel.PerformClick();
                        }
                        catch (SQLiteException ex)
                        {
                            loading.Close();
                            if (ex.ErrorCode == 19)
                            {
                                MessageBox.Show("An account is already registered with this email or ID");
                            }
                            else
                            {
                                MessageBox.Show(ex.Message + ex.ErrorCode);
                            }
                        }catch (Exception ex)
                        {
                            loading.Close();
                            MessageBox.Show(ex.Message);
                        }
                    }
                    catch (Exception ex)
                    {
                        loading.Close();
                        MessageBox.Show(ex.Message);
                    }
                }
                else
                {
                    MessageBox.Show("Passwords do not match");
                }
            }
            else
            {
                MessageBox.Show("Please fill up all fields");
            }
        }
        private void buttonSave_Click(object sender, System.EventArgs e)
        {
            LoadingForm loadingForm = new LoadingForm();

            loadingForm.Show();
            //try
            {
                UserController controller = new UserController();
                Argon2Hashing  hashing    = new Argon2Hashing();
                //Console.WriteLine("getting pass with id: " + faculty.Id);
                //Console.WriteLine("Verification: " + hashing.VerifyHash(textBoxPassword.Text, Convert.FromBase64String(faculty.salt), Convert.FromBase64String(faculty.Password)));
                if (hashing.VerifyHash(textBoxPassword.Text, Convert.FromBase64String(faculty.salt), Convert.FromBase64String(faculty.Password)))
                {
                    loadingForm.Step(20);
                    if (textBoxNewPassword.Text == textBoxConfirmPassword.Text)
                    {
                        faculty.Password = textBoxNewPassword.Text;
                        //try
                        {
                            faculty.IsValid();
                            faculty.salt     = Convert.ToBase64String(hashing.CreateSalt());
                            faculty.Password = Convert.ToBase64String(hashing.HashPassword(faculty.Password, Convert.FromBase64String(faculty.salt)));
                            loadingForm.Step(20);
                            if (hashing.VerifyHash(textBoxNewPassword.Text, Convert.FromBase64String(faculty.salt), Convert.FromBase64String(faculty.Password)))
                            {
                                loadingForm.Step(20);
                                //try
                                {
                                    controller.UpdatePasswordByUser(faculty.Id, faculty.Password, faculty.salt);
                                    loadingForm.Step(60);
                                    loadingForm.Close();
                                    MessageBox.Show("Password successfully updated");
                                    this.Hide();
                                }
                                //catch(Exception ex)
                                //{
                                //    loadingForm.Close();
                                //    MessageBox.Show(ex.Message);
                                //}
                            }
                            else
                            {
                                loadingForm.Close();
                                MessageBox.Show("Hash verification failed");
                            }
                        }
                        //catch (Exception ex)
                        //{
                        //    loadingForm.Close();
                        //    MessageBox.Show(ex.Message+" here");
                        //}
                    }
                    else
                    {
                        loadingForm.Close();
                        MessageBox.Show("Passwords do not match. Please make sure you confirm your password correctly");
                    }
                }
                else
                {
                    loadingForm.Close();
                    MessageBox.Show("Wrong current password. Please try again");
                }
            }

            //catch (Exception ex)
            //{

            //    loadingForm.Close();
            //    MessageBox.Show(ex.Message);
            //}
        }