/// <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 static election [] insertionCleEtrangereElection(election[] elect, AnneeElection year, Candidat [] candidat, Commune comm) { for (int i = 0; i < elect.Length; i++) { if (elect[i] != null) { elect[i].Candidat = candidat[i]; elect[i].Commune = comm; elect[i].AnneeElection = year; } } return(elect); }
/// <summary> /// insertion de la table stockant le nombre de sièges affectés à une commune /// </summary> /// <param name="csiege"></param> public static void insertionDonneesCalculSieges(calcul_sieges [] csiege, Commune com, AnneeElection year, Liste [] list) { for (int i = 0; i < csiege.Length; i++) { if (csiege != null) { csiege[i].Commune = com; csiege[i].AnneeElection = year; csiege[i].Liste = list[i]; } } }
/// <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 static calcul_sieges [] insertionCleEtrangereCalculSieges(calcul_sieges [] csiege, Commune comm, AnneeElection year, Liste[] liste) { for (int i = 0; i < csiege.Length; i++) { if (csiege[i] != null && liste[i] != null) { csiege[i].Commune = comm; csiege[i].AnneeElection = year; csiege[i].Liste = liste[i]; } } return(csiege); }
/// <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 static stats_election insertionCleEtrangereStatsElection(stats_election stat, AnneeElection year, Commune comm) { if (stat != null) { stat.AnneeElection = year; stat.Commune = comm; } return(stat); }
static void Main(string[] args) { AnneeElection year = new AnneeElection(); year.annee = 2014; string[][] allData = lireToutesLesDonnees(); //Lire toutes les données depuis le fichier csv et les stocker dans allData for (int i = 0; i < allData.Length; i++) { reinitialisationTableauDeDonnees(candidat, parti, list, csieges, elect); for (int colonne = 0; colonne < 75; colonne++) { //comm = reinitialisationCommune(comm); //dept = reinitialisationDepartement(dept); //stat = reinitialisationStatsElection(stat); 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: if (!leDepartementExiste) { dept.libelle_du_departement = allData[i][colonne]; } //comm.Departement.libelle_du_departement = allData[i][colonne]; break; //code de la commune case 4: 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 election_municipaleEntities()) { insertionDonneesDepartement(dept); insertionDonneesParti(parti); comm = insertionCleEtrangereCommune(comm, Convert.ToSByte(allData[i][1]), allData[i][3]); insertionDonneesCommune(comm, dept); list = insertionCleEtrangereListe(list, parti); insertionDonneesListe(list); candidat = insertionCleEtrangereCandidat(candidat, list); insertionDonneesCandidat(candidat); elect = insertionCleEtrangereElection(elect, year, candidat, comm); insertionDonneesElection(elect); stat = insertionCleEtrangereStatsElection(stat, year, comm); insertionDonneesStatElection(stat); csieges = insertionCleEtrangereCalculSieges(csieges, comm, year, list); insertionDonneesCalculSieges(csieges, comm, year, list); Console.WriteLine(i + " insertion"); } } } //Fin du if } //Fin du for des colonnes } //Fin du for pour les lignes } //Fin du main