/// <summary>
        /// Insertion des données dans la BDD des stats relatives aux élections pour une commune
        /// </summary>
        /// <param name="stat"></param>
        public void insertionDonneesStatElection(AnneeElection year, Commune comm)
        {
            using (var context = new electionEDM())
            {
                //On regarde si stats_election est déjà dans la BDD
                try
                {
                    var query = (from stats in context.stats_election
                                 where (stats.annee == year.annee && stats.insee == comm.insee)
                                 select stats).Single();
                }

                //Si stats_election n'est pas dans la BDD, on l'insère
                catch
                {
                    context.stats_election.Add(this);

                    //On l'insère dans la base de données
                    try
                    {
                        context.SaveChanges();
                    }

                    //Si l'insertion échoue
                    catch
                    {
                    }
                }
            }
        }
        /// <summary>
        /// Insertion dans la base de données de l'entité AnneeElection
        /// </summary>
        /// <param name="year">Entité : AnneeElection</param>
        public void insertionAnnee()
        {
            using (var context = new electionEDM())
            {
                try
                {
                    AnneeElection query = (from annee in context.AnneeElection
                                           where annee.annee == this.annee
                                           select annee).Single();
                }

                catch
                {
                    context.AnneeElection.Add(this);
                    try
                    {
                        context.SaveChanges();
                    }

                    //Si l'insertion dans la base de données échoue
                    catch
                    {
                        MessageBox.Show("L'insertion de l'année dans la base de données a échoué");
                    }
                }
            }
        }
 /// <summary>
 /// Insertion des clés étrangères relatives à la table association : stats_election
 /// </summary>
 /// <param name="stat">La table association : stats_election</param>
 /// <param name="year">Année de l'élection municipale</param>
 /// <param name="comm">Nom de la commune de laquelle on va récupérer des statistiques</param>
 /// <returns></returns>
 public void insertionCleEtrangereStatsElection(AnneeElection year, Commune comm)
 {
     //Insertion des clés étrangères dans stats_election : annee(AnneeElection), insee(Commune)
     this.AnneeElection = null;
     this.Commune       = null;
     this.annee         = year.annee;
     this.insee         = comm.insee;
 }
Exemplo n.º 4
0
 /// <summary>
 /// insertion des clés étrangères de la table association election
 /// </summary>
 /// <param name="elect">La table association election</param>
 /// <param name="year">Année de l'election municipale</param>
 /// <param name="candidat">Candidats à l'election municipales</param>
 /// <param name="comm">La commune où a eu lieu l'election</param>
 /// <returns></returns>
 public void insertionCleEtrangereElection(election[] elect, AnneeElection year, Candidat[] candidat, Commune comm)
 {
     for (int i = 0; i < elect.Length; i++)
     {
         //Pour chaque entité election on insère ses clés étrangères : idCandidat, insee(Commune), annee(AnneeElection)
         if (elect[i].voix != 0)
         {
             elect[i].Candidat      = null;
             elect[i].Commune       = null;
             elect[i].AnneeElection = null;
             elect[i].idCandidat    = candidat[i].idCandidat;
             elect[i].insee         = comm.insee;
             elect[i].annee         = year.annee;
         }
     }
 }
Exemplo n.º 5
0
        /// <summary>
        /// Insertion des clés étrangères relatives au calcul des sièges alloués selon les résultats des élections
        /// </summary>
        /// <param name="csiege">Tableau de table association : calcul_sieges</param>
        /// <param name="comm">Commune dans laquelle on indique les sièges alloués à certaines listes</param>
        /// <param name="year">Année de l'election</param>
        /// <param name="liste">Tableau de listes electorales</param>
        /// <returns></returns>
        public calcul_sieges[] insertionCleEtrangereCalculSieges(calcul_sieges[] csiege, Commune comm, AnneeElection year, Liste[] liste)
        {
            using (var context = new electionEDM())
            {
                context.Liste.Load();
                Liste listeTemp;
                for (int i = 0; i < csiege.Length; i++)
                {
                    listeTemp = liste[i];
                    //On effectue une requête pour savoir si la liste à laquelle est liée calcul_sieges existe bien dans la BDD
                    try
                    {
                        var query = (from list in context.Liste
                                     where list.nomListe == listeTemp.nomListe
                                     select list.idListe).Single();

                        csiege[i].Commune       = null;
                        csiege[i].AnneeElection = null;
                        csiege[i].Liste         = null;
                        csiege[i].insee         = comm.insee;
                        csiege[i].annee         = year.annee;
                        csiege[i].idListe       = query;
                    }

                    //Si la liste n'existe pas dans la BDD
                    catch
                    {
                    }
                }         //fin de la boucle for
            }             //fin du using

            return(csiege);
        }
Exemplo n.º 6
0
        /// <summary>
        /// insertion de la table stockant le nombre de sièges affectés à une commune
        /// </summary>
        /// <param name="csiege"></param>
        public void insertionDonneesCalculSieges(calcul_sieges[] csiege, Commune com, AnneeElection year, Liste[] list)
        {
            using (var context = new electionEDM())
            {
                for (int i = 0; i < csiege.Length; i++)
                {
                    //On recherche dans la BDD si l'objet calcul_sieges existe déjà
                    try
                    {
                        var query = (from csieges in context.calcul_sieges
                                     where csieges.insee == com.insee && csieges.annee == year.annee && csieges.idListe == list[i].idListe
                                     select csieges).Single();
                    }

                    //Si il n'existe pas, on l'insère dans la BDD
                    catch
                    {
                        context.calcul_sieges.Add(csiege[i]);

                        try
                        {
                            context.SaveChanges();
                        }

                        //Si l'insertion dans la base de données échoue
                        catch
                        {
                        }
                    }
                }
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// Permet de récupérer toutes les données issues du fichier csv election_municipale_2014
        /// </summary>
        public static void recuperationDesDonnees(MainWindow pagePrincipale)
        {
            Candidat[]     candidat = new Candidat[5];
            Departement    dept     = new Departement();
            Commune        comm     = new Commune();
            stats_election stat     = new stats_election();

            Parti[]         parti   = new Parti[5];
            Liste[]         list    = new Liste[5];
            calcul_sieges[] csieges = new calcul_sieges[5];
            election[]      elect   = new election[5];
            bool            leDepartementExiste;


            AnneeElection year = new AnneeElection();

            year.annee = 2014;
            year.insertionAnnee();

            string[][] allData = lireToutesLesDonnees();             //Lire toutes les données depuis le fichier csv et les stocker dans allData

            for (int i = 1; i < allData.Length; i++)
            {
                reinitialisationTableauDeDonnees(candidat, parti, list, csieges, elect);
                comm.reinitialisationCommune();
                dept.reinitialisationDepartement();
                stat.reinitialisationStatsElection();


                for (int colonne = 0; colonne < 75; colonne++)
                {
                    //La première ligne i = 0 n'est pas insérée car c'est le titre des colonnes
                    if (i > 0)
                    {
                        switch (colonne)
                        {
                        //code du département
                        case 1:
                            //Si le département n'existe pas, on modifie la classe Departement
                            leDepartementExiste = leDepartementExisteDeja(Convert.ToSByte(allData[i][colonne]));
                            if (!leDepartementExiste)
                            {
                                dept.code_du_departement = Convert.ToSByte(allData[i][colonne]);
                            }
                            //comm.Departement = new Departement();
                            //comm.Departement.code_du_departement = Convert.ToSByte(allData[i][colonne]);
                            ;
                            break;

                        //type du scrutin
                        case 2:
                            break;

                        //libelle_du_departement
                        case 3:
                            leDepartementExiste = leDepartementExisteDeja(Convert.ToSByte(allData[i][1]));
                            if (!leDepartementExiste)
                            {
                                dept.libelle_du_departement = allData[i][colonne];
                            }
                            //comm.Departement.libelle_du_departement = allData[i][colonne];
                            break;

                        //code de la commune
                        case 4:
                            if (allData[i][colonne] == "")
                            {
                                comm.code_de_la_commune = "vide";
                            }
                            comm.code_de_la_commune = allData[i][colonne];
                            break;

                        //libelle_de_la_commune
                        case 5:
                            comm.libelle_de_la_commune = allData[i][colonne];
                            break;

                        //insee
                        case 6:
                            comm.insee = allData[i][colonne];
                            break;

                        //geo_point_2
                        case 7:
                            comm.geo_point_2d = allData[i][colonne];
                            break;

                        //geo_shape
                        case 8:
                            comm.geo_shape = allData[i][colonne];
                            break;

                        //inscrits
                        case 9:
                            stat.inscrits = Convert.ToInt32(allData[i][colonne]);
                            break;

                        //abstentions
                        case 10:
                            stat.abstentions = Convert.ToInt32(allData[i][colonne]);
                            break;

                        //votants
                        case 12:
                            stat.votants = Convert.ToInt32(allData[i][colonne]);
                            break;

                        //blancs_et_nuls
                        case 14:
                            stat.blancs_et_nuls = Convert.ToInt32(allData[i][colonne]);
                            break;

                        //exprimes
                        case 17:
                            stat.exprimes = Convert.ToInt32(allData[i][colonne]);
                            break;

                        //code_nuance
                        case 20:
                            parti[0].code_nuance = allData[i][colonne];
                            break;

                        //sexe_01
                        case 21:
                            candidat[0].sexe = allData[i][colonne];
                            break;

                        //nom_01
                        case 22:
                            candidat[0].nom = allData[i][colonne];
                            break;

                        //prenom_01
                        case 23:
                            candidat[0].prenom = allData[i][colonne];
                            break;

                        //liste_01
                        case 24:
                            list[0].nomListe = allData[i][colonne];
                            break;

                        //sieges_elu_01
                        case 25:
                            csieges[0].sieges_elus = Convert.ToSByte(allData[i][colonne]);
                            break;

                        //sieges_secteur_01
                        case 26:
                            csieges[0].sieges_secteurs = Convert.ToSByte(allData[i][colonne]);
                            break;

                        //sieges_cc_01
                        case 27:
                            csieges[0].sieges_cc = Convert.ToSByte(allData[i][colonne]);
                            break;

                        //voix_01
                        case 28:
                            elect[0].voix = Convert.ToInt32(allData[i][colonne]);
                            break;

                        //code_nuance_02
                        case 31:
                            parti[1].code_nuance = allData[i][colonne];
                            break;

                        //sexe_02
                        case 32:
                            candidat[1].sexe = allData[i][colonne];
                            break;

                        //nom_02
                        case 33:
                            candidat[1].nom = allData[i][colonne];
                            break;

                        //prenom_02
                        case 34:
                            candidat[1].prenom = allData[i][colonne];
                            break;

                        //liste_02
                        case 35:
                            list[1].nomListe = allData[i][colonne];
                            break;

                        //sieges_elu_02
                        case 36:
                            csieges[1].sieges_elus = Convert.ToSByte(allData[i][colonne]);
                            break;

                        //sieges_secteur_02
                        case 37:
                            csieges[1].sieges_secteurs = Convert.ToSByte(allData[i][colonne]);
                            break;

                        //sieges_cc_02
                        case 38:
                            csieges[1].sieges_cc = Convert.ToSByte(allData[i][colonne]);
                            break;

                        //voix_02
                        case 39:
                            elect[1].voix = Convert.ToInt32(allData[i][colonne]);
                            break;

                        // code nuance_03
                        case 42:
                            if (allData[i][colonne] != "")
                            {
                                parti[2].code_nuance = allData[i][colonne];
                            }
                            break;

                        //sexe_03
                        case 43:
                            if (allData[i][colonne] != "")
                            {
                                candidat[2].sexe = allData[i][colonne];
                            }
                            break;

                        //nom_03
                        case 44:
                            if (allData[i][colonne] != "")
                            {
                                candidat[2].nom = allData[i][colonne];
                            }
                            break;

                        //prenom_03
                        case 45:
                            if (allData[i][colonne] != "")
                            {
                                candidat[2].prenom = allData[i][colonne];
                            }
                            break;

                        //liste_03
                        case 46:
                            if (allData[i][colonne] != "")
                            {
                                list[2].nomListe = allData[i][colonne];
                            }
                            break;

                        //sieges_elu_03
                        case 47:
                            if (allData[i][colonne] != "")
                            {
                                csieges[2].sieges_elus = Convert.ToSByte(allData[i][colonne]);
                            }
                            break;

                        //sieges_secteur_03
                        case 48:
                            if (allData[i][colonne] != "")
                            {
                                csieges[2].sieges_secteurs = Convert.ToSByte(allData[i][colonne]);
                            }
                            break;

                        //sieges_cc_03
                        case 49:
                            if (allData[i][colonne] != "")
                            {
                                csieges[2].sieges_cc = Convert.ToSByte(allData[i][colonne]);
                            }
                            break;

                        //voix_03
                        case 50:
                            if (allData[i][colonne] != "")
                            {
                                elect[2].voix = Convert.ToInt32(allData[i][colonne]);
                            }
                            break;

                        // code nuance_04
                        case 53:
                            if (allData[i][colonne] != "")
                            {
                                parti[3].code_nuance = allData[i][colonne];
                            }
                            break;

                        //sexe_04
                        case 54:
                            if (allData[i][colonne] != "")
                            {
                                candidat[3].sexe = allData[i][colonne];
                            }
                            break;

                        //nom_04
                        case 55:
                            if (allData[i][colonne] != "")
                            {
                                candidat[3].nom = allData[i][colonne];
                            }
                            break;

                        //prenom_04
                        case 56:
                            if (allData[i][colonne] != "")
                            {
                                candidat[3].prenom = allData[i][colonne];
                            }
                            break;

                        //liste_04
                        case 57:
                            if (allData[i][colonne] != "")
                            {
                                list[3].nomListe = allData[i][colonne];
                            }
                            break;

                        //sieges_elus_04
                        case 58:
                            if (allData[i][colonne] != "")
                            {
                                csieges[3].sieges_elus = Convert.ToSByte(allData[i][colonne]);
                            }
                            break;

                        //sieges_secteur_04
                        case 59:
                            if (allData[i][colonne] != "")
                            {
                                csieges[3].sieges_secteurs = Convert.ToSByte(allData[i][colonne]);
                            }
                            break;

                        //sieges_cc_04
                        case 60:
                            if (allData[i][colonne] != "")
                            {
                                csieges[3].sieges_cc = Convert.ToSByte(allData[i][colonne]);
                            }
                            break;

                        //voix_04
                        case 61:
                            if (allData[i][colonne] != "")
                            {
                                elect[3].voix = Convert.ToInt32(allData[i][colonne]);
                            }
                            break;

                        // code_nuance_05
                        case 64:
                            if (allData[i][colonne] != "")
                            {
                                parti[4].code_nuance = allData[i][colonne];
                            }
                            break;

                        //sexe_05
                        case 65:
                            if (allData[i][colonne] != "")
                            {
                                candidat[4].sexe = allData[i][colonne];
                            }
                            break;

                        //nom_05
                        case 66:
                            if (allData[i][colonne] != "")
                            {
                                candidat[4].nom = allData[i][colonne];
                            }
                            break;

                        //prenom_05
                        case 67:
                            if (allData[i][colonne] != "")
                            {
                                candidat[4].prenom = allData[i][colonne];
                            }
                            break;

                        //liste_05
                        case 68:
                            if (allData[i][colonne] != "")
                            {
                                list[4].nomListe = allData[i][colonne];
                            }
                            break;

                        //sieges_elu_05
                        case 69:
                            if (allData[i][colonne] != "")
                            {
                                csieges[4].sieges_elus = Convert.ToSByte(allData[i][colonne]);
                            }
                            break;

                        //sieges_secteur_05
                        case 70:
                            if (allData[i][colonne] != "")
                            {
                                csieges[4].sieges_secteurs = Convert.ToSByte(allData[i][colonne]);
                            }
                            break;

                        //sieges_cc_05
                        case 71:
                            if (allData[i][colonne] != "")
                            {
                                csieges[4].sieges_cc = Convert.ToSByte(allData[i][colonne]);
                            }
                            break;

                        //voix_05
                        case 72:
                            if (allData[i][colonne] != "")
                            {
                                elect[4].voix = Convert.ToInt32(allData[i][colonne]);
                            }
                            break;
                        }                         //Fin du switch

                        if (colonne == 74)
                        {
                            using (var context = new electionEDM())
                            {
                                dept.insertionDonneesDepartement();
                                parti[0].insertionDonneesParti(parti);

                                comm.insertionCleEtrangereCommune(dept, Convert.ToSByte(allData[i][1]), allData[i][3]);
                                comm.insertionDonneesCommune(dept);

                                list[0].insertionCleEtrangereListe(list, parti);
                                list[0].insertionDonneesListe(list);

                                candidat[0].insertionCleEtrangereCandidat(candidat, list);
                                candidat[0].insertionDonneesCandidat(candidat);

                                elect[0].insertionCleEtrangereElection(elect, year, candidat, comm);
                                elect[0].insertionDonneesElection(elect);

                                stat.insertionCleEtrangereStatsElection(year, comm);
                                stat.insertionDonneesStatElection(year, comm);

                                csieges[0].insertionCleEtrangereCalculSieges(csieges, comm, year, list);
                                csieges[0].insertionDonneesCalculSieges(csieges, comm, year, list);
                            }
                        }
                    }            //Fin du if(i>0)
                }                //Fin du for des colonnes

                pagePrincipale.modificationLabelInsertionLignes(i);
            }             //Fin du for pour les lignes
        }