Beispiel #1
0
        //Bouton sauver
        private void saveAdministrateur_Click(object sender, EventArgs e)
        {
            //Création d'un objet Administrateur avec l'id à -1 (création) ou >0 (passé en paramètre)
            //Les autres propriétés viennent des textBoxes
            Administrateur administrateur = new Administrateur();

            administrateur.id       = this.administrateurId;
            administrateur.nom      = textBoxNom.Text.ToUpper();
            administrateur.prenom   = textBoxPrenom.Text;
            administrateur.username = textBoxUsername.Text.ToLower();
            administrateur.password = textBoxPassword.Text;
            administrateur.email    = textBoxEmail.Text.ToLower();
            administrateur.phone    = textBoxPhone.Text;
            //Si Validate renvoie true, l'objet est valide et peut être transmis à la BU pour traitement
            if (Validate(administrateur))
            {
                //Si id = -1 alors c'est une création, envoi à la BU (AdministrateurManager.Create)
                if (administrateurId == -1)
                {
                    AdministrateurManager.Create(administrateur);
                }
                //Sinon c'est une modification, envoi à la BU (AdministrateurManager.Update)
                else
                {
                    AdministrateurManager.Update(administrateur);
                }
                //Fermeture du form
                this.Dispose();
            }
        }
Beispiel #2
0
        //Clic sur Supprimer dans le Datagrid Administrateurs
        private void buttonDelAdmin_Click(object sender, EventArgs e)
        {
            //Affichage d'une demande de confirmation
            string            message = "Voulez-vous vraiment supprimer cet administrateur?";
            string            caption = "Suppression";
            MessageBoxButtons buttons = MessageBoxButtons.YesNo;
            MessageBoxIcon    icon    = MessageBoxIcon.Warning;
            DialogResult      result;

            result = MessageBox.Show(message, caption, buttons, icon);
            //Si oui
            if (result == System.Windows.Forms.DialogResult.Yes)
            {
                //Obtention de l'id de la ligne sélectionnée
                int id = (int)dataGridViewAdministrateurs.SelectedRows[0].Cells[0].Value;
                //Envoi à la couche BU qui retourne un booléen (true: suppression ok, false: erreur lors de la suppression)
                if (AdministrateurManager.Delete(id))
                {
                    message = "Administrateur supprimé!";
                    buttons = MessageBoxButtons.OK;
                    icon    = MessageBoxIcon.Information;
                }
                else
                {
                    message = "Erreur lors de la suppression!";
                    buttons = MessageBoxButtons.OK;
                    icon    = MessageBoxIcon.Error;
                }
                //Message de résultat
                MessageBox.Show(message, caption, buttons, icon);
                //Rafraichissement des grids
                PopulateGrids();
            }
        }
Beispiel #3
0
        //Modifier
        private void buttonModAdmin_Click(object sender, EventArgs e)
        {
            //Obtention de l'id de la ligne sélectionnée
            int id = (int)dataGridViewAdministrateurs.SelectedRows[0].Cells[0].Value;
            //Recherche de l'administrateur sur base de l'id
            Administrateur a = AdministrateurManager.GetAll().Find(x => x.id == id);

            //Ouverture du form avec passage de l'administrateur sélectionné (textBoxes préremplies)
            if (a != null)
            {
                FormAdministrateur f = new FormAdministrateur(a);
                f.ShowDialog();
                PopulateGrids();
            }
        }
Beispiel #4
0
        private bool Validate(Restaurateur r)
        {
            //Expression régulière pour nom et prénom: caractères maj-min + (- espace '), longueur entre 2 et 30
            var nomRegex = new Regex(@"^[-'a-zA-Z ]{2,30}$");
            //Expression régulière pour nom d'utilisateur: caractères maj-min uniquement, longueur entre 3 et 30
            var usernameRegex = new Regex(@"^[a-zA-Z]{3,30}$");
            //Expression régulière pour email: "caractère(s) et/ou tiret(s) et point(s) + @ + caractère(s) et/ou tiret(s) + point + 2-3 caractères
            var emailRegex = new Regex(@"^\w+[\w-\.]*\@\w+((-\w+)|(\w*))\.[a-z]{2,3}$");
            //Expression régulière pour numéro de téléphone: commence par 0 + [1-9] + [0-9] * 7 ou 8 (fixe ou mobile)
            var phoneRegex = new Regex(@"^0[1-9][0-9]{7,8}$");

            //Initialisation de la couleur des labels à "par défaut"
            labelNom.ForeColor      = Color.Empty;
            labelPrenom.ForeColor   = Color.Empty;
            labelUsername.ForeColor = Color.Empty;
            labelPassword.ForeColor = Color.Empty;
            labelEmail.ForeColor    = Color.Empty;
            labelPhone.ForeColor    = Color.Empty;
            bool   valid   = true;
            string message = "";

            //Si le nom ne correspond pas à l'expression régulière nomRegex
            if (!nomRegex.IsMatch(r.nom))
            {
                labelNom.ForeColor = Color.Red;
                valid    = false;
                message += "- Nom invalide\n";
            }
            //Si le prénom ne correspond pas à l'expression régulière nomRegex
            if (!nomRegex.IsMatch(r.prenom))
            {
                labelPrenom.ForeColor = Color.Red;
                valid    = false;
                message += "- Prénom invalide\n";
            }
            //Si le nom d'utilisateur ne correspond pas à l'expression régulière usernameRegex
            if (!usernameRegex.IsMatch(r.username))
            {
                labelUsername.ForeColor = Color.Red;
                valid    = false;
                message += "- Nom d'utilisateur invalide\n";
            }
            //Si le nom d'utilisateur existe déjà et que c'est une création
            if (AdministrateurManager.GetAll().Find(x => x.username == r.username) != null && r.id == -1)
            {
                labelUsername.ForeColor = Color.Red;
                valid    = false;
                message += "- Nom d'utilisateur déjà existant\n";
            }
            //Si le mot de passe est plus court que 4 ou plus long que 30
            if (r.password.Length < 4 || r.password.Length > 30)
            {
                labelPassword.ForeColor = Color.Red;
                valid    = false;
                message += "- Mot de passe invalide\n";
            }
            //Si l'email ne correspond pas à l'expression régulière usernameRegex
            if (!emailRegex.IsMatch(r.email))
            {
                labelEmail.ForeColor = Color.Red;
                valid    = false;
                message += "- Email invalide\n";
            }
            //Si l'email existe déjà et que c'est une création
            if (AdministrateurManager.GetAll().Find(x => x.email == r.email) != null && r.id == -1)
            {
                labelEmail.ForeColor = Color.Red;
                valid    = false;
                message += "- Email déjà existant\n";
            }
            //Si le numéro de téléphone ne correspond pas à l'expression régulière phoneRegex
            if (!phoneRegex.IsMatch(r.phone))
            {
                labelPhone.ForeColor = Color.Red;
                valid    = false;
                message += "- Numéro de téléphone invalide\n";
            }
            //Si le restaurateur envoyé par le form est invalide
            if (!valid)
            {
                //Affichage du message d'erreur
                string            caption = "Erreur";
                MessageBoxButtons buttons = MessageBoxButtons.OK;
                MessageBoxIcon    icon    = MessageBoxIcon.Error;
                MessageBox.Show(message, caption, buttons, icon);
            }
            //retourne valid
            return(valid);
        }
Beispiel #5
0
        private void PopulateGrids()
        {
            //Si la connexion à la base de données est possible
            if (CommonManager.CheckDBConnection())
            {
                #region DataGrid Administrateurs

                dataGridViewAdministrateurs.DataSource = AdministrateurManager.GetAll();
                //Renommage des colonnes affichées
                dataGridViewAdministrateurs.Columns["nom"].HeaderText    = "Nom";
                dataGridViewAdministrateurs.Columns["prenom"].HeaderText = "Prénom";
                dataGridViewAdministrateurs.Columns["email"].HeaderText  = "Email";
                dataGridViewAdministrateurs.Columns["phone"].HeaderText  = "Téléphone";
                //Masquage des colonnes inutiles
                dataGridViewAdministrateurs.Columns["id"].Visible       = false;
                dataGridViewAdministrateurs.Columns["username"].Visible = false;
                dataGridViewAdministrateurs.Columns["password"].Visible = false;
                //si DataGrid vide, désactivation des boutons Supprimer et Modifier
                if (dataGridViewAdministrateurs.Rows.Count == 0)
                {
                    buttonDelAdmin.Enabled = buttonModAdmin.Enabled = false;
                }
                else
                {
                    buttonDelAdmin.Enabled = buttonModAdmin.Enabled = true;
                }

                #endregion DataGrid Administrateurs

                #region DataGrid Restaurateurs

                //DataGrid Restaurateurs
                dataGridViewRestaurateurs.DataSource = RestaurateurManager.GetAll();
                //Renommage des colonnes affichées
                dataGridViewRestaurateurs.Columns["nom"].HeaderText    = "Nom";
                dataGridViewRestaurateurs.Columns["prenom"].HeaderText = "Prénom";
                dataGridViewRestaurateurs.Columns["email"].HeaderText  = "Email";
                dataGridViewRestaurateurs.Columns["phone"].HeaderText  = "Téléphone";
                //Masquage des colonnes inutiles
                dataGridViewRestaurateurs.Columns["id"].Visible       = false;
                dataGridViewRestaurateurs.Columns["username"].Visible = false;
                dataGridViewRestaurateurs.Columns["password"].Visible = false;
                //si DataGrid vide, désactivation des boutons Supprimer, Modifier et Consulter restaurants
                if (dataGridViewRestaurateurs.Rows.Count == 0)
                {
                    buttonDelRestaurateur.Enabled = buttonModRestaurateur.Enabled = buttonViewRestaurants.Enabled = false;
                }
                else
                {
                    buttonDelRestaurateur.Enabled = buttonModRestaurateur.Enabled = buttonViewRestaurants.Enabled = true;
                }

                #endregion DataGrid Restaurateurs

                #region DataGrid Utilisateurs

                //DataGrid Utilisateurs
                dataGridViewUtilisateurs.DataSource = UtilisateurManager.GetAll();
                //Renommage des colonnes affichées
                dataGridViewUtilisateurs.Columns["nom"].HeaderText    = "Nom";
                dataGridViewUtilisateurs.Columns["prenom"].HeaderText = "Prénom";
                dataGridViewUtilisateurs.Columns["email"].HeaderText  = "Email";
                dataGridViewUtilisateurs.Columns["phone"].HeaderText  = "Téléphone";
                //Masquage des colonnes inutiles
                dataGridViewUtilisateurs.Columns["id"].Visible       = false;
                dataGridViewUtilisateurs.Columns["username"].Visible = false;
                dataGridViewUtilisateurs.Columns["password"].Visible = false;
                //Fonctions Ajouter et Modifier désactivées car gérées par l'utilisateur sur le site
                //Suppression autorisée
                buttonAddUser.Enabled = buttonModUser.Enabled = false;

                #endregion DataGrid Utilisateurs

                #region DataGrid Restaurants

                //DataGrid Restaurants
                dataGridViewRestaurants.DataSource = RestaurantManager.GetAll();
                //Renommage des colonnes affichées
                dataGridViewRestaurants.Columns["nom"].HeaderText           = "Nom";
                dataGridViewRestaurants.Columns["zipCode"].HeaderText       = "Code Postal";
                dataGridViewRestaurants.Columns["localite"].HeaderText      = "Localité";
                dataGridViewRestaurants.Columns["premium"].HeaderText       = "Premium";
                dataGridViewRestaurants.Columns["genre"].HeaderText         = "Genre";
                dataGridViewRestaurants.Columns["idTypeCuisine"].HeaderText = "Type de cuisine";
                //Masquage des colonnes inutiles
                dataGridViewRestaurants.Columns["id"].Visible             = false;
                dataGridViewRestaurants.Columns["adresse"].Visible        = false;
                dataGridViewRestaurants.Columns["numero"].Visible         = false;
                dataGridViewRestaurants.Columns["description"].Visible    = false;
                dataGridViewRestaurants.Columns["budgetLow"].Visible      = false;
                dataGridViewRestaurants.Columns["budgetHigh"].Visible     = false;
                dataGridViewRestaurants.Columns["horaire"].Visible        = false;
                dataGridViewRestaurants.Columns["genre"].Visible          = false;
                dataGridViewRestaurants.Columns["idRestaurateur"].Visible = false;
                dataGridViewRestaurants.Columns["idTypeCuisine"].Visible  = false;
                //Si DataGrid vide, désactivation des boutons Supprimer, Modifier et Consulter réservations
                if (dataGridViewRestaurants.Rows.Count == 0)
                {
                    buttonDelResto.Enabled = buttonModResto.Enabled = buttonViewReservations.Enabled = false;
                }
                else
                {
                    buttonDelResto.Enabled = buttonModResto.Enabled = buttonViewReservations.Enabled = true;
                }

                #endregion DataGrid Restaurants

                #region DataGrid TypeCuisine

                //DataGrid TypeCuisine
                dataGridViewTypesCuisine.DataSource = TypeCuisineManager.GetAll();
                //Renommage des colonnes affichées
                dataGridViewTypesCuisine.Columns["type"].HeaderText        = "Type de cuisine";
                dataGridViewTypesCuisine.Columns["description"].HeaderText = "Description";
                //Masquage des colonnes inutiles
                dataGridViewTypesCuisine.Columns["id"].Visible = false;
                //Si DataGrid vide, désactivation des boutons Supprimer et Modifier
                if (dataGridViewTypesCuisine.Rows.Count == 0)
                {
                    buttonDelType.Enabled = buttonModType.Enabled = false;
                }
                else
                {
                    buttonDelType.Enabled = buttonModType.Enabled = true;
                }

                #endregion DataGrid TypeCuisine
            }
            //Sinon
            else
            {
                string            message = "Une erreur est survenue lors de la connexion à la base de données, l'application va maintenant se fermer.";
                string            caption = "Erreur";
                MessageBoxButtons buttons = MessageBoxButtons.OK;
                MessageBoxIcon    icon    = MessageBoxIcon.Error;
                MessageBox.Show(message, caption, buttons, icon);
                Application.Exit();
            }
        }