dreamforce

Untitled

Oct 31st, 2020
840
4 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.IO;
  3. using System.Collections.Generic;
  4. using System.Globalization;
  5. using CsvHelper;
  6. using CsvHelper.Configuration;
  7.  
  8. namespace TestDB
  9. {
  10.     class Person
  11.     {
  12.         int id { get; set; }
  13.         string firstName { get; set; }
  14.         string lastName { get; set; }
  15.  
  16.         public Person(int id, string firstName, string lastName)
  17.         {
  18.             this.id = id;
  19.             this.firstName = firstName;
  20.             this.lastName = lastName;
  21.         }
  22.  
  23.         public void Show()
  24.         {
  25.             Console.WriteLine($"{id,3}: {lastName,-15} {firstName,-15}");
  26.         }
  27.     }
  28.  
  29.     class Program
  30.     {
  31.         public static string databaseCSV = @"test.csv";
  32.         public static List<Person> persons = new List<Person>();
  33.  
  34.         static void Main(string[] args)
  35.         {
  36.             void LoadCSV1(string path)
  37.             {
  38.                 if (File.Exists(path))
  39.                 {
  40.                     var cfg = new CsvConfiguration(CultureInfo.InvariantCulture);
  41.                     cfg.Delimiter = ";";
  42.                     cfg.HasHeaderRecord = false;
  43.  
  44.                     TextReader tr = new StreamReader(path);
  45.                     var csv = new CsvReader(tr, cfg);
  46.                     while (csv.Read())
  47.                     {
  48.                         int id = int.Parse(csv.GetField(0));
  49.                         string fn = csv.GetField(1);
  50.                         string ln = csv.GetField(2);
  51.  
  52.                         persons.Add(new Person(id, fn, ln));
  53.                     }
  54.                     tr.Close();
  55.                 }
  56.                 else
  57.                 {
  58.                     File.Create(path);
  59.                 }
  60.             }
  61.  
  62.             void LoadCSV2(string path)
  63.             {
  64.                 if (File.Exists(path))
  65.                 {
  66.                     var cfg = new CsvConfiguration(CultureInfo.InvariantCulture);
  67.                     cfg.Delimiter = ";";
  68.                     cfg.HasHeaderRecord = false;
  69.  
  70.                     using (var reader = new StreamReader(path))
  71.                     using (var csv = new CsvReader(reader, cfg))
  72.                     {
  73.                         var records = csv.GetRecords<Person>();
  74.                     }
  75.                 }
  76.                 else
  77.                 {
  78.                     File.Create(path);
  79.                 }
  80.             }
  81.  
  82.             //LoadCSV1(databaseCSV);
  83.             LoadCSV2(databaseCSV);
  84.  
  85.             foreach (var p in persons)
  86.             {
  87.                 p.Show();
  88.             }
  89.         }
  90.     }
  91. }
  92.  
RAW Paste Data