Ejemplo n.º 1
0
        ///<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();
                }
            }
        }
Ejemplo n.º 2
0
        ///<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();
                }
            }
        }