public static void AjoutGare() { using (var db = new garesDataModel()) { string[] fichier = File.ReadAllLines("C:\\Users\\34011-14-06\\Desktop\\TP 10 n° 1\\gares_ferroviaires_de_tous_types_exploitees_ou_non.csv"); var query = from csvline in fichier let data = csvline.Split(';') select new { codeLigne = data[0], nom = data[1], nature = data[2], latitude = data[3], longitude = data[4], gps = data[5], dpt = data[6], cp = data[7], ville = data[8] }; var filtreSurGare = from tabGare in query select tabGare.nom; var filtreSurVille = from tabVille in db.villes select tabVille; var gareFiltre = filtreSurGare.Distinct(); var numeroVille = from nomVillePourGare in query join tab in filtreSurVille on nomVillePourGare.ville equals tab.nom_ville select new { nomville = nomVillePourGare.ville, numerodeVillePourGare = tab.numero_ville, nomgare = nomVillePourGare.nom }; var filtrenumeroGare = numeroVille.Distinct(); foreach (var ajout in filtrenumeroGare) { gare maGare = new gare { nom_gare = ajout.nomgare, numero_ville = ajout.numerodeVillePourGare, }; try { db.gares.Add(maGare); } catch (Exception e) { Console.WriteLine(e.Message); } } db.SaveChanges(); } }
public static void RemplirBDD() { using (var db = new garesDataModel()) { string[] fichier = File.ReadAllLines("C:\\Users\\34011-14-06\\Desktop\\TP 10 n° 1\\gares_ferroviaires_de_tous_types_exploitees_ou_non.csv"); var query = from csvline in fichier let data = csvline.Split(';') select new { codeLigne = data[0], nom = data[1], nature = data[2], latitude = data[3], longitude = data[4], gps = data[5], dpt = data[6], cp = data[7], ville = data[8] }; var filtreSurCP = from tabCP in query select tabCP.cp; var cpFiltre = filtreSurCP.Distinct(); foreach (var ajoutCP in cpFiltre) { int nb; bool resultat = Int32.TryParse(ajoutCP, out nb); if (resultat) { cp monCp = new cp { code_postal = nb }; try { db.cps.Add(monCp); } catch (Exception e) { Console.WriteLine(e.Message); } } } db.SaveChanges(); var filtreSurVille = from tabVille in query select new { ville = tabVille.ville, dept = tabVille.dpt }; var villeFiltre = filtreSurVille.Distinct(); foreach (var ajoutVille in villeFiltre) { int nb; bool resultat = Int32.TryParse(ajoutVille.dept, out nb); if (resultat) { ville maVille = new ville { nom_ville = ajoutVille.ville, dpt = nb }; try { db.villes.Add(maVille); } catch (Exception e) { Console.WriteLine(e.Message); } } } db.SaveChanges(); var filtreSurVilleGare = from tabVille in db.villes select tabVille; var numeroVille = from nomVillePourGare in query join tab in filtreSurVilleGare on nomVillePourGare.ville equals tab.nom_ville select new { nomville = nomVillePourGare.ville, numerodeVillePourGare = tab.numero_ville, nomgare = nomVillePourGare.nom }; var filtrenumeroGare = numeroVille.Distinct(); foreach (var ajoutGare in filtrenumeroGare) { gare maGare = new gare { nom_gare = ajoutGare.nomgare, numero_ville = ajoutGare.numerodeVillePourGare }; try { db.gares.Add(maGare); } catch (Exception e) { Console.WriteLine(e.Message); } } db.SaveChanges(); var filtreSurNature = from tabNature in query select tabNature.nature; var natureFiltre = filtreSurNature.Distinct(); foreach (var ajoutNature in natureFiltre) { nature maNature = new nature { nom_nature = ajoutNature }; try { db.natures.Add(maNature); } catch (Exception e) { Console.WriteLine(e.Message); } } db.SaveChanges(); var filtreSurLigne = from tabLigne in query select new { ligne = tabLigne.codeLigne, latitude = tabLigne.latitude, longitude = tabLigne.longitude }; var ligneFiltre = filtreSurLigne.Distinct(); foreach (var ajout in ligneFiltre) { int nombreCodeLigne; bool resultatNombreCodeLigne = Int32.TryParse(ajout.ligne, out nombreCodeLigne); ligne maLigne = new ligne { code_ligne = nombreCodeLigne, latitude = ajout.latitude, longitude = ajout.longitude, }; try { db.lignes.Add(maLigne); } catch (Exception e) { Console.WriteLine(e.Message); } } db.SaveChanges(); } }