/// <summary> /// permet le crud sur la table Constructeur /// </summary> /// <param name="c">définit l'action : c:create, u update, d delete</param> /// <param name="indice">indice de l'élément sélectionné à modifier ou supprimer, -1 si ajout</param> public static void crud_Users(Char c, int indice) { if (c == 'd') // cas de la suppression { // DialogResult rep = MessageBox.Show("Etes-vous sûr de vouloir supprimer ce constructeur "+ vmodele.DTConstructeur.Rows[indice][1].ToString()+ " ? ", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question); DialogResult rep = MessageBox.Show("Etes-vous sûr de vouloir supprimer cet utilisateur " + vmodele.DT[4].Rows[indice][1].ToString() + " ? ", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (rep == DialogResult.Yes) { // on supprime l’élément du DataTable vmodele.DT[4].Rows[indice].Delete(); // suppression dans le DataTable vmodele.DA[4].Update(vmodele.DT[4]); // mise à jour du DataAdapter } } else { // cas de l'ajout et modification FormCRUDUsers formCRUD = new FormCRUDUsers(); // création de la nouvelle forme foreach (DataRow row in vmodele.DT[11].Rows) { formCRUD.CbxComm.Items.Add(row[1].ToString()); } if (c == 'c') // mode ajout donc pas de valeur à passer à la nouvelle forme { formCRUD.TbEmail.Clear(); formCRUD.TbPseudo.Clear(); } if (c == 'u') // mode update donc on récupère les champs { // on remplit les zones par les valeurs du dataGridView correspondantes formCRUD.TbEmail.Text = vmodele.DT[4].Rows[indice][1].ToString(); formCRUD.TbPseudo.Text = vmodele.DT[4].Rows[indice][2].ToString(); formCRUD.CbxComm.SelectedIndex = Convert.ToInt32(vmodele.DT[4].Rows[indice][3]) - 1; } // on affiche la nouvelle form formCRUD.ShowDialog(); // si l’utilisateur clique sur OK if (formCRUD.DialogResult == DialogResult.OK) { if (c == 'c') // ajout { // on crée une nouvelle ligne dans le dataView if (formCRUD.TbEmail.Text != "" && formCRUD.TbPseudo.Text != "") { DataRow NouvLigne = vmodele.DT[4].NewRow(); NouvLigne["email"] = formCRUD.TbEmail.Text; NouvLigne["pseudo"] = formCRUD.TbPseudo.Text; NouvLigne["idCommunaute"] = formCRUD.CbxComm.SelectedIndex + 1; vmodele.DT[4].Rows.Add(NouvLigne); vmodele.DA[4].Update(vmodele.DT[4]); } } if (c == 'u') // modif { // on met à jour le dataTable avec les nouvelles valeurs vmodele.DT[4].Rows[indice]["email"] = formCRUD.TbEmail.Text; vmodele.DT[4].Rows[indice]["pseudo"] = formCRUD.TbPseudo.Text; vmodele.DT[4].Rows[indice]["idCommunaute"] = formCRUD.CbxComm.SelectedIndex + 1; vmodele.DA[4].Update(vmodele.DT[4]); } // MessageBox.Show("OK : données enregistrées Constructeur"); formCRUD.Dispose(); // on ferme la form } else { MessageBox.Show("Annulation : aucune donnée enregistrée"); formCRUD.Dispose(); } } }
/// <summary> /// permet le crud sur la table users /// </summary> /// <param name="c">définit l'action : c:create, u update, d delete </param> /// <param name="indice">indice de l'élément sélectionné à modifier ou supprimer, -1 si ajout</param> public static void crud_users(Char c, int indice) { if (c == 'd') // suppression { DialogResult rep = MessageBox.Show("Etes-vous sûr de vouloir supprimer cet utilisateur " + vmodele.DT[5].Rows[indice][2].ToString() + " ? ", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (rep == DialogResult.Yes) { // on supprime l’élément du DataTable vmodele.DT[5].Rows[indice].Delete(); // suppression dans le DataTable vmodele.DA[5].Update(vmodele.DT[5]); // mise à jour du DataAdapter } } else { FormCRUDUsers formCRUD = new FormCRUDUsers(c, indice); // création de la nouvelle forme if (c == 'c') // mode ajout donc pas de valeur à passer à la nouvelle forme { // à écrire : mettre les contrôles de formCRUD à vide formCRUD.TbPseudo.Clear(); formCRUD.TbMdp.Clear(); formCRUD.TbEmail.Clear(); formCRUD.TbCommu.Clear(); } if (c == 'u') // mode update donc on récupère les champs { // on remplit les zones par les valeurs du dataGridView correspondantes formCRUD.TbPseudo.Text = vmodele.DT[5].Rows[indice][2].ToString(); formCRUD.TbMdp.Text = vmodele.DT[5].Rows[indice][4].ToString(); formCRUD.TbEmail.Text = vmodele.DT[5].Rows[indice][1].ToString(); formCRUD.TbCommu.Text = vmodele.DT[5].Rows[indice][3].ToString(); // mise à jour de la comboBox faite avec le nom du constructeur dans le Load de la formCRUD } eti: // on affiche la nouvelle form formCRUD.ShowDialog(); // si l’utilisateur clique sur OK if (formCRUD.DialogResult == DialogResult.OK) { if (c == 'c') // ajout { // on crée une nouvelle ligne dans le dataView if (formCRUD.TbPseudo.Text != "") { DataRow NouvLigne = vmodele.DT[5].NewRow(); NouvLigne["PSEUDO"] = formCRUD.TbPseudo.Text; NouvLigne["MotDePasse"] = formCRUD.TbMdp.Text; NouvLigne["EMAIL"] = formCRUD.TbEmail.Text; NouvLigne["COMMUNAUTE"] = formCRUD.TbCommu.Text; vmodele.DT[5].Rows.Add(NouvLigne); vmodele.DA[5].Update(vmodele.DT[5]); } else { MessageBox.Show("Sélectionner un nom et un constructeur au minimum", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error); // ne pas fermer la form : revenir avant le bouton OK goto eti; } } if (c == 'u') // modif { // on met à jour le dataTable avec les nouvelles valeurs vmodele.DT[5].Rows[indice]["PSEUDO"] = formCRUD.TbPseudo.Text; vmodele.DT[5].Rows[indice]["MotDePasse"] = formCRUD.TbMdp.Text; vmodele.DT[5].Rows[indice]["EMAIL"] = formCRUD.TbEmail.Text; vmodele.DT[5].Rows[indice]["COMMUNAUTE"] = formCRUD.TbCommu.Text; vmodele.DA[5].Update(vmodele.DT[5]); } // MessageBox.Show("OK : données enregistrées Constructeur"); formCRUD.Dispose(); // on ferme la form } else { MessageBox.Show("Annulation : aucune donnée enregistrée"); formCRUD.Dispose(); } } }