///<summary> ///crud sur veloelec /// </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_veloelectrique(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 ceci " + vmodele.DT[4].Rows[indice][1].ToString() + " ? ", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (rep == DialogResult.Yes) { for (int i = 0; i < Vmodele.DT[3].Rows.Count; i++) { if (vmodele.DT[4].Rows[indice][0].ToString() == vmodele.DT[3].Rows[i][0].ToString()) { vmodele.DT[3].Rows[i].Delete(); } } vmodele.DA[4].Update(vmodele.DT[4]); // mise à jour du DataAdapter vmodele.DA[5].Update(vmodele.DT[3]); } } else { // cas de l'ajout et modification FormCRUDVehicule formCRUD = new FormCRUDVehicule(); // création de la nouvelle forme FormCRUDVELOELEC formCRUD2 = new FormCRUDVELOELEC(); if (c == 'c') // mode ajout donc pas de valeur à passer à la nouvelle forme { formCRUD.TbLatC.Clear(); formCRUD.TbLongC.Clear(); formCRUD.CbNumBorne.SelectedIndex = -1; formCRUD.RbElec.Checked = false; formCRUD.RbClassique.Checked = false; formCRUD.CbEtatVehicule.SelectedIndex = -1; for (int i = 0; i < Vmodele.DT[1].Rows.Count; i++) { formCRUD.CbNumBorne.Items.Add(Vmodele.DT[1].Rows[i]["nomB"].ToString()); } } if (c == 'u') // mode update donc on récupère les champs { // on remplit les zones par les valeurs du dataGridView correspondantes for (int i = 0; i < Vmodele.DT[1].Rows.Count; i++) { formCRUD2.CbNumB.Items.Add(Vmodele.DT[1].Rows[i]["nomB"].ToString()); } for (int i = 0; i < Vmodele.DT[3].Rows.Count; i++) { formCRUD2.CbNumVeh.Items.Add(Vmodele.DT[3].Rows[i]["numV"].ToString()); } formCRUD2.CbNumB.SelectedIndex = Convert.ToInt32(vmodele.DT[4].Rows[indice][1].ToString()) - 1; formCRUD2.CbNumVeh.Text = vmodele.DT[4].Rows[indice][0].ToString(); } if (c == 'u') { formCRUD2.ShowDialog(); } else { formCRUD.ShowDialog(); } // si l’utilisateur clique sur OK if (formCRUD.DialogResult == DialogResult.OK || formCRUD2.DialogResult == DialogResult.OK) { if (c == 'c') // ajout { for (int i = 0; i < Vmodele.DT[1].Rows.Count; i++) { formCRUD.CbNumBorne.Items.Add(Vmodele.DT[1].Rows[i]["nomB"].ToString()); // boucle pour charger le num des bornes via leur nom } DataRow NouvLigne = vmodele.DT[3].NewRow(); // table vehicule DataRow NouvLigne1 = vmodele.DT[5].NewRow(); //table velo DataRow NouvLigne2 = vmodele.DT[4].NewRow(); // table veloelec NouvLigne["etatV"] = formCRUD.CbEtatVehicule.Text; vmodele.DT[3].Rows.Add(NouvLigne); vmodele.DA[3].Update(vmodele.DT[3]); MessageBox.Show("Vehicule ajouté"); if (formCRUD.RbClassique.Checked == true && formCRUD.RbElec.Checked == false) // ajout velo classique { vmodele.charger_donnees("PPE_vehicule"); int numV = Convert.ToInt32(vmodele.DT[3].Rows[vmodele.DT[3].Rows.Count - 1]["numV"].ToString()); NouvLigne1["numV"] = numV; NouvLigne1["latitudeV"] = formCRUD.TbLatC.Text; NouvLigne1["longitudeV"] = formCRUD.TbLongC.Text; vmodele.DT[5].Rows.Add(NouvLigne1); vmodele.DA[5].Update(vmodele.DT[5]); } else if (formCRUD.RbElec.Checked == true && formCRUD.RbClassique.Checked == false) // ajout velo elec { vmodele.charger_donnees("PPE_vehicule"); int numV = Convert.ToInt32(vmodele.DT[3].Rows[vmodele.DT[3].Rows.Count - 1]["numV"].ToString()); NouvLigne2["numV"] = numV; NouvLigne2["numB"] = Convert.ToInt32(formCRUD.CbNumBorne.SelectedIndex + 1); vmodele.DT[4].Rows.Add(NouvLigne2); vmodele.DA[4].Update(vmodele.DT[4]); } } if (c == 'u') // modif { if (formCRUD2.CbNumB.Text != "" && formCRUD2.CbNumVeh.Text != "") { // on met à jour le dataTable avec les nouvelles valeurs vmodele.DT[4].Rows[indice]["numV"] = Convert.ToInt32(formCRUD2.CbNumVeh.Text.ToString()); vmodele.DT[4].Rows[indice]["numB"] = Convert.ToInt32(formCRUD2.CbNumB.SelectedIndex + 1); vmodele.DA[4].Update(vmodele.DT[4]); } else { MessageBox.Show("Erreur : Numero du véhicule et nom de la borne non saisis.", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error); } } MessageBox.Show("OK : données enregistrées Vehicule electrique"); formCRUD2.Dispose(); // on ferme la form } else { MessageBox.Show("Annulation : aucune donnée enregistrée Vehicule electrique"); formCRUD.Dispose(); } } }
///<summary> /// permet le crud sur la table velo /// </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_velo(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 ce velo " + vmodele.DT[5].Rows[indice][1].ToString() + " ? ", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (rep == DialogResult.Yes) { for (int i = 0; i < Vmodele.DT[3].Rows.Count; i++) { if (vmodele.DT[5].Rows[indice][0].ToString() == vmodele.DT[3].Rows[i][0].ToString()) { vmodele.DT[3].Rows[i].Delete(); } } vmodele.DA[5].Update(vmodele.DT[5]); // mise à jour du DataAdapter vmodele.DA[3].Update(vmodele.DT[3]); } } else { // cas de l'ajout et modification FormCRUDVehicule formCRUD = new FormCRUDVehicule(); FormCRUDVELO formCRUD2 = new FormCRUDVELO(); if (c == 'c') // mode ajout donc pas de valeur à passer à la nouvelle forme { formCRUD.TbLatC.Clear(); formCRUD.TbLongC.Clear(); formCRUD.CbNumBorne.SelectedIndex = -1; formCRUD.RbElec.Checked = false; formCRUD.RbClassique.Checked = false; formCRUD.CbEtatVehicule.SelectedIndex = -1; } if (c == 'u') // mode update donc on récupère les champs { formCRUD2.TbLat.Text = vmodele.DT[5].Rows[indice][1].ToString(); formCRUD2.TbLong.Text = vmodele.DT[5].Rows[indice][2].ToString(); } // on affiche la nouvelle form if (c == 'u') { formCRUD2.ShowDialog(); } else { formCRUD.ShowDialog(); } // si l’utilisateur clique sur OK if (formCRUD2.DialogResult == DialogResult.OK || formCRUD.DialogResult == DialogResult.OK) { if (c == 'c') // ajout { if (formCRUD.RbClassique.Checked == true) { if (formCRUD.CbEtatVehicule.SelectedIndex != -1 && formCRUD.TbLatC.Text != "" && formCRUD.TbLongC.Text != "") { DataRow NouvLigne = vmodele.DT[5].NewRow(); NouvLigne["latitudeV"] = formCRUD.TbLatC.Text; NouvLigne["longitudeV"] = formCRUD.TbLongC.Text; vmodele.DT[5].Rows.Add(NouvLigne); vmodele.DA[5].Update(vmodele.DT[5]); } else { MessageBox.Show("Erreur : veuillez saisir latitude et la longitude + etat du véhicule pour ajouter un velo classique", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } if (c == 'u') // modif { if (formCRUD2.TbLat.Text != "" && formCRUD2.TbLong.Text != "") { // on met à jour le dataTable avec les nouvelles valeurs vmodele.DT[5].Rows[indice]["latitudeV"] = formCRUD2.TbLat.Text.ToString(); vmodele.DT[5].Rows[indice]["longitudeV"] = formCRUD2.TbLong.Text.ToString(); vmodele.DA[5].Update(vmodele.DT[5]); } else { MessageBox.Show("Erreur : veuillez saisir la latitude et la longitude.", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error); } } MessageBox.Show("OK : données enregistrées dans Velo"); formCRUD2.Dispose(); // on ferme la form } else { MessageBox.Show("Annulation : aucune donnée enregistrée Velo"); formCRUD2.Dispose(); } } }