From fbe2af871ed8f36301920cd3a690868b28cf0fe4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tommy=20=C3=96man?= Date: Sat, 10 Sep 2022 18:03:48 +0200 Subject: [PATCH] Fixed some problems withnameconverter routine --- LoadStockDbFromTrans/Runners/FileToJson.cs | 38 +++++++++++-------- .../StocksProviders/DapperStocksProvider.cs | 13 +++++++ 2 files changed, 36 insertions(+), 15 deletions(-) diff --git a/LoadStockDbFromTrans/Runners/FileToJson.cs b/LoadStockDbFromTrans/Runners/FileToJson.cs index d0162a8..5629cf4 100644 --- a/LoadStockDbFromTrans/Runners/FileToJson.cs +++ b/LoadStockDbFromTrans/Runners/FileToJson.cs @@ -65,22 +65,30 @@ public class FileToJson : IFileToJson { if (rec.Transaktionstyp == "KÖPT") { - var stockmember = new StockMember(); - stockmember.StockId = NameConverter[rec.Beskrivning.Trim()]; - stockmember.StockExtId = NameConverter[rec.Beskrivning.Trim()]; - stockmember.BuyValue = rec.Kurs; - stockmember.BuyDate = rec.Affärsdag; - stockmember.ActValue = rec.Kurs; - stockmember.ActDate = rec.Affärsdag; - stockmember.ActAmount = rec.Antal; - stockmember.SoldValue = 0; - stockmember.SoldDate = null; - stockmember.Comment = "from trans"; - stockmember.PostAmount = rec.Antal; - stockmember.SoldStockPrice = 0; + try + { + var stockmember = new StockMember(); + stockmember.StockId = NameConverter[rec.Beskrivning.Trim()]; + stockmember.StockExtId = NameConverter[rec.Beskrivning.Trim()]; + stockmember.BuyValue = rec.Kurs; + stockmember.BuyDate = rec.Affärsdag; + stockmember.ActValue = rec.Kurs; + stockmember.ActDate = rec.Affärsdag; + stockmember.ActAmount = rec.Antal; + stockmember.SoldValue = 0; + stockmember.SoldDate = null; + stockmember.Comment = "from trans"; + stockmember.PostAmount = rec.Antal; + stockmember.SoldStockPrice = 0; - _dapperStocksProvider.AddStock(stockmember); - skrivna++; + _dapperStocksProvider.AddStock(stockmember); + skrivna++; + + } + catch (Exception e) + { + _log.LogError(e.Message, e.StackTrace); + } } } diff --git a/LoadStockDbFromTrans/StocksProviders/DapperStocksProvider.cs b/LoadStockDbFromTrans/StocksProviders/DapperStocksProvider.cs index 6ca48a3..a76612d 100644 --- a/LoadStockDbFromTrans/StocksProviders/DapperStocksProvider.cs +++ b/LoadStockDbFromTrans/StocksProviders/DapperStocksProvider.cs @@ -91,6 +91,12 @@ namespace LoadStockDbFromTrans.StocksProviders SELECT * FROM StockNames"; + private const string WEB_STOCKNAMES_EXISTS = @" + SELECT CAST( + CASE WHEN EXISTS ( + SELECT 1 FROM StockNames WHERE StockNameWeb = @StockNameWeb) + THEN 1 ELSE 0 END as BIT)"; + private readonly SqliteDbConnectionFactory _sqliteDbConnectionFactory; private readonly ILogger _log; @@ -212,6 +218,13 @@ namespace LoadStockDbFromTrans.StocksProviders using (IDbConnection database = _sqliteDbConnectionFactory.Connect()) { + var exists = await database.ExecuteScalarAsync(WEB_STOCKNAMES_EXISTS, new { StockNameWeb = stockNameWeb }); + + if (!exists) + { + await AddWebStockNames(stockNameWeb); + } + object parameters = new { StockNameBank = stockNameBank,