diff --git a/src/FilterLists.Services/FilterLists.Services.csproj b/src/FilterLists.Services/FilterLists.Services.csproj index eb707e92b..5fa651ea7 100644 --- a/src/FilterLists.Services/FilterLists.Services.csproj +++ b/src/FilterLists.Services/FilterLists.Services.csproj @@ -6,6 +6,7 @@ + diff --git a/src/FilterLists.Services/Implementations/TableService.cs b/src/FilterLists.Services/Implementations/TableService.cs index 15b627ecc..557ef9b63 100644 --- a/src/FilterLists.Services/Implementations/TableService.cs +++ b/src/FilterLists.Services/Implementations/TableService.cs @@ -1,6 +1,8 @@ using System.IO; using System.Net.Http; using System.Threading.Tasks; +using CsvHelper; +using FilterLists.Data.Models.Implementations; using FilterLists.Data.Repositories.Contracts; using FilterLists.Services.Contracts; @@ -20,18 +22,19 @@ public TableService(ITableCsvRepository tableCsvRepository) /// public void UpdateTables() { - //TODO: loop through all CSVs - UpdateTable("List"); + UpdateListTable(); } /// - /// update table via .CSV from GitHub + /// update table via List.csv from GitHub /// - /// name of database table - public void UpdateTable(string tableName) + public void UpdateListTable() { - var file = FetchFile(_tableCsvRepository.GetUrlByName(tableName), tableName).Result; - //TODO: exec stored procedure to merge/upsert csv into corresponding db table + var localCsvFilePath = FetchFile(_tableCsvRepository.GetUrlByName("List"), "List").Result; + TextReader textReader = File.OpenText(localCsvFilePath); + var csv = new CsvReader(textReader); + csv.Configuration.MissingFieldFound = null; + var records = csv.GetRecords(); //TODO: delete file when finished }