public static void ImportMovies(string path = DefaultMoviePath) { if (!string.IsNullOrEmpty(path)) { if (File.Exists(path)) { // On cleare tout avant d'importer var movieDb = new MovieDatabaseLayer(); movieDb.CleanTable(); var movies = new List <Movie>(); using (var reader = File.OpenText(path)) { string line; // on choppe tous les films un par un on stocke dans une liste temporaire while ((line = reader.ReadLine()) != null) { var splits = line.Split(','); var movie = new Movie { Id = int.Parse(splits[0]), Title = splits[2] }; int date; // y'a des Date NULL des fois, du coup on "try parse" if (int.TryParse(splits[1], out date)) { movie.Date = date; } movies.Add(movie); } } // on save tout le bloc movieDb.Save(movies); } else { Logger.Error(string.Format("File {0} does not exist", path)); } } else { Logger.Error(string.Format("Je crois, c'est pas bon", path)); } }
public override void Import() { if (!string.IsNullOrEmpty(Source)) { if (File.Exists(Source)) { // On compte le nombre de lignes pour pouvoir faire un ReportProgress double lineCount = File.ReadLines(Source).Count(); // Pour prendre en compte la sauvegarde dans le progress... hum lineCount += lineCount * 0.2; // On cleare tout avant d'importer var movieDb = new MovieDatabaseLayer(Target); movieDb.CleanTable(); //var counter = 0.0; double progress = 0; var movies = new List <Movie>(); using (var reader = File.OpenText(Source)) { string line; Report(progress, "Reading file"); // on choppe tous les films un par un on stocke dans une liste temporaire while ((line = reader.ReadLine()) != null) { var splits = line.Split(','); var movie = new Movie { Id = int.Parse(splits[0]), Title = splits[2] }; int date; // y'a des Date NULL des fois, du coup on "try parse" if (int.TryParse(splits[1], out date)) { movie.Date = date; } movies.Add(movie); // Progress // counter++; // progress = counter/lineCount * 100; // Report(progress, "Reading file"); if (CancelationPending) { Report(0, "Importation cancelled"); return; } } } Report(50, "Saving movies"); // on save tout le bloc movieDb.Save(movies); Report(100, "Import finished !"); } else { throw new ArgumentException(string.Format("File {0} does not exist", Source)); } } else { throw new ArgumentNullException("Source can not be null or empty"); } }