예제 #1
0
        private void cmdRegister_Click(object sender, EventArgs e)
        {
            int flag = 0;

            lblError.Text = "";

            txtEmail.BackColor          = Color.FromArgb(255, 255, 255);
            txtPassword.BackColor       = Color.FromArgb(255, 255, 255);
            txtPasswordVerify.BackColor = Color.FromArgb(255, 255, 255);

            if (password.Trim() != passwordVerify.Trim())
            {
                lblError.Text = "Les mots de passes sont différents";
                txtPasswordVerify.BackColor = Color.FromArgb(255, 128, 128);
                flag++;
            }
            if (password.Count() < 8)
            {
                lblError.Text               = "Votre mot de passe est trop court, 8 caractères minimum";
                txtPassword.BackColor       = Color.FromArgb(255, 128, 128);
                txtPasswordVerify.BackColor = Color.FromArgb(255, 128, 128);
                flag++;
            }
            if (txtEmail.Text.ToLower().Trim() == "")
            {
                txtEmail.BackColor = Color.FromArgb(255, 128, 128);
                lblError.Text      = "Champ(s) incomplet(s)";
                flag++;

                //lblError.Text = "Erreur lors de la création du compte";
            }
            if (password.Trim() == "")
            {
                txtPassword.BackColor = Color.FromArgb(255, 128, 128);
                lblError.Text         = "Champ(s) incomplet(s)";
                flag++;

                //lblError.Text = "Erreur lors de la création du compte";
            }
            if (passwordVerify.Trim() == "")
            {
                txtPasswordVerify.BackColor = Color.FromArgb(255, 128, 128);
                lblError.Text = "Champ(s) incomplet(s)";
                flag++;

                //lblError.Text = "Erreur lors de la création du compte";
            }
            if (flag == 0)
            {
                try
                {
                    DatabaseManagement database = new DatabaseManagement();
                    database.OpenConnection();


                    bool successCreation;

                    if (chkEnterprise.Checked)
                    {
                        successCreation = database.AddUser(txtEmail.Text.ToLower().Trim(), password.Trim(), "Enterprise", 10000.5);
                    }
                    else
                    {
                        successCreation = database.AddUser(txtEmail.Text.ToLower().Trim(), password.Trim(), "Public", 10000.5);
                    }


                    database.CloseConnection();

                    if (successCreation)
                    {
                        FrmConfirmRegister formConfirm = new FrmConfirmRegister();

                        formConfirm.Email = $"{txtEmail.Text.ToLower().Trim()}, vous êtes bien incrit-e";

                        formConfirm.ShowDialog();

                        Close();
                    }


                    lblError.Text      = "Erreur lors de la création du compte";
                    txtEmail.BackColor = Color.FromArgb(255, 128, 128);
                }
                catch (UnableToJoinDatabase)
                {
                    lblError.Text         = "La base de données est injoignable";
                    txtEmail.BackColor    = Color.FromArgb(255, 128, 128);
                    txtPassword.BackColor = Color.FromArgb(255, 128, 128);
                }
                catch (UserAlreadyExistsException)
                {
                    //lblError.Text = "Oups.. Cette email est deja utilisée par une autre personne";
                    lblError.Text = "Erreur lors de la création du compte, cet email est deja utilisé";
                }
                catch (WrongEmailFormatException)
                {
                    lblError.Text      = "Format d'email invalide ex. exemple@exemple";
                    txtEmail.BackColor = Color.FromArgb(255, 128, 128);
                }
                catch (WrongAccountTypeException)
                {
                    lblError.Text = "Erreur lors de la création du compte";
                }
            }
        }