예제 #1
0
        private void enregistrer()
        {
            //Enregistrer dans les tables les modifications et / ou ajouts

            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                String nomColonne, nomLigne;

                // Enregistre le nombre d'heures dans la classe Categorie :
                nomLigne = row.Cells[0].Value.ToString();

                categorie categorie = Requetes.retrouveCategorieViaTexte(nomLigne);

                categorie.nbrHeureDues = Convert.ToInt32(row.Cells[1].Value);

                // Enregistre les ratios entre catégories et type de cours dans la classe equivalent_td
                for (int i = 2; i < dataGridView1.Columns.Count; i++)
                {
                    nomColonne = dataGridView1.Columns[i].HeaderText;
                    nomLigne   = row.Cells[0].Value.ToString();

                    type_cours typC = Requetes.retrouveTypeDeCoursViaTexte(nomColonne);
                    categorie  cat  = Requetes.retrouveCategorieViaTexte(nomLigne);

                    equivalent_td equivalent = new equivalent_td();

                    if (row.Cells[i].Value.ToString().Contains('.'))     // Format décimal avec un point comme virgule (a.aaaa)
                    {
                        equivalent.ratio = Math.Round(Convert.ToDouble(row.Cells[i].Value.ToString().Replace('.', ',')), 6);
                    }

                    else if (row.Cells[i].Value.ToString().Contains('/'))     // Format décimal sous forme de fraction (a/b)
                    {
                        String[] data = row.Cells[i].Value.ToString().Split('/');
                        equivalent.ratio = Math.Round((Convert.ToDouble(data[0]) / Convert.ToDouble(data[1])), 6);
                    }

                    else     // Format décimal classique avec une virgule (a,aaaa)
                    {
                        equivalent.ratio = Math.Round(Convert.ToDouble(row.Cells[i].Value), 6);
                    }

                    equivalent.id_categ      = cat.id;
                    equivalent.id_type_cours = typC.id;

                    equivalent.categorie  = cat;
                    equivalent.type_cours = typC;

                    // Ajoute ou met à jour
                    Requetes.ajouterEquivalentTD(equivalent);
                }
            }

            // Sauvegarde les modifications
            Requetes.enregistreLaBDD();
            Actualiser();
        }