Example #1
0
 public void ReadFileLineByLine(TrainsDb_200123Context db, FileInfo file)
 {
     using (var sr = new StreamReader(file.FullName, Encoding.GetEncoding("ISO-8859-1")))
     {
         sr.ReadLine();
         if (false)
         {
             using (var sw = new StreamWriter(@"D:\merge.csv", true))
                 sw.Write(sr.ReadToEnd());
             Console.Write(".");
         }
         else
         {
             int    count = 0;
             string line;
             while ((line = sr.ReadLine()) != null)
             {
                 count++;
                 var train = new Trains();                        //Trains.FromCsv(line);
                 //db.Trains.Add(train);
             }
             db.SaveChanges();
             Console.WriteLine($"Importet file: {file.Name}");
             Console.WriteLine($"Records: {count}");
         }
     }
 }
Example #2
0
        public async Task ExportCsvToMySQL <T>(string myDirPath) where T : class
        {
            using (var db = new TrainsDb_200123Context())
            {
                DirectoryInfo d     = new DirectoryInfo(myDirPath);            //Assuming Test is your Folder
                FileInfo[]    Files = d.GetFiles("*.csv");
                foreach (FileInfo file in Files)
                {
                    FileHelpers.FileHelperEngine <T> engine = new FileHelpers.FileHelperEngine <T>(Encoding.GetEncoding("ISO-8859-1"));
                    engine.HeaderText             = engine.GetFileHeader().Remove(0, 3);
                    engine.ErrorManager.ErrorMode = FileHelpers.ErrorMode.SaveAndContinue;
                    T[] trains = engine.ReadFile(file.FullName);
                    //Array.ForEach(trains, e => e.Id = 0);
                    await db.AddRangeAsync(trains);

                    await db.SaveChangesAsync();

                    /*
                     * int count = 0;
                     * foreach (var train in trains)
                     * {
                     *      count++;
                     *      train.Id = 0;
                     *      db.CzPreosGtn.Add(train);
                     *      db.SaveChanges();
                     * }
                     */
                    if (engine.ErrorManager.HasErrors)
                    {
                        engine.ErrorManager.SaveErrors($"{myDirPath}\\err-{file.Name}.out");
                    }
                    Console.WriteLine($"Importet file: {file.Name}");
                    //Console.WriteLine($"Records: {count}");
                    //ReadFileLineByLine(db, file);
                }

                Console.WriteLine($"finished: {myDirPath}");
                return;
            }
        }