From e259d2c6eb8488be9935b1b42531b2e5fcfab700 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tommy=20=C3=96man?= Date: Tue, 11 Oct 2022 23:05:02 +0200 Subject: [PATCH] Developed routine for new Stock registration --- StockTransToDB/Runners/FileToJson.cs | 26 ++++++++++--------- .../StocksProviders/DapperStocksProvider.cs | 26 +++++++++++++++++-- .../StocksProviders/IDapperStocksProvider.cs | 1 + StockTransToDB/appsettings.json | 4 +-- 4 files changed, 41 insertions(+), 16 deletions(-) diff --git a/StockTransToDB/Runners/FileToJson.cs b/StockTransToDB/Runners/FileToJson.cs index 251c0dd..c3b0196 100644 --- a/StockTransToDB/Runners/FileToJson.cs +++ b/StockTransToDB/Runners/FileToJson.cs @@ -176,32 +176,34 @@ namespace StockTransToDB.Runners private async Task PrepareNameConverter(List recList) { var tempListNew = new HashSet(); - await _dapperStocksProvider.CleanStockNames(); + // Tar bort denna rensning, dumt att ta bort redan tillgängliga översättningar + // await _dapperStocksProvider.CleanStockNames(); foreach (var rec in recList) { if (rec.Transaktionstyp == ProcName.KOPT) { - try + var stockName = await _dapperStocksProvider.GetBankStockName(rec.Beskrivning); + if (string.IsNullOrEmpty(stockName)) { tempListNew.Add(rec.Beskrivning); } - catch (Exception) - { - _log.LogInformation($"Dublett : {rec.Beskrivning}"); - } } } - var templist = await _dapperStocksProvider.GetStockNames(); - foreach (var webName in templist) - { - _log.LogInformation($"Upplägg : {webName}, --"); - await _dapperStocksProvider.AddWebStockNames(webName); - } + //var templist = await _dapperStocksProvider.GetStockNames(); + //foreach (var webName in templist) + //{ + // _log.LogInformation($"Upplägg : {webName}, --"); + // await _dapperStocksProvider.AddWebStockNames(webName); + //} foreach (var newName in tempListNew) { + + _log.LogInformation($"Upplägg : {newName}, --"); + await _dapperStocksProvider.AddWebStockNames(newName); + //var founds = templist.Where(t => t.StartsWith(newName.Substring(0, 3))).ToList(); var founds = await _dapperStocksProvider.GetStockNamesByPart(newName.Substring(0, 3)); if (founds.Any()) diff --git a/StockTransToDB/StocksProviders/DapperStocksProvider.cs b/StockTransToDB/StocksProviders/DapperStocksProvider.cs index b978672..ef88a8a 100644 --- a/StockTransToDB/StocksProviders/DapperStocksProvider.cs +++ b/StockTransToDB/StocksProviders/DapperStocksProvider.cs @@ -94,8 +94,8 @@ namespace StockTransToDB.StocksProviders private const string UPDATE_STOCKNAME_BANK = @" UPDATE StockNames - SET StockNameBank = @StockNameBank - WHERE StockNameWeb = @StockNameWeb"; + SET StockNameWeb = @StockNameWeb + WHERE StockNameBank = @StockNameBank"; private const string GET_WEB_STOCKNAM_FULL = @" SELECT * @@ -121,6 +121,9 @@ namespace StockTransToDB.StocksProviders set Comment = substring(Comment,4) where Substring(Comment,1,Length(@RunId))=@RunId"; + private const string STOCKNAMES_BY_BANKNAME = @" + select StockNameWeb, StockNameBank from StockNames + where StockNameBank = @BankStockName"; private readonly SqliteDbConnectionFactory _sqliteDbConnectionFactory; @@ -319,6 +322,25 @@ namespace StockTransToDB.StocksProviders } } + public async Task GetBankStockName(string bankStockName) + { + var stockNameBank = ""; + using(IDbConnection database = _sqliteDbConnectionFactory.Connect()) + { + _log.LogInformation("STOCKNAMES_BY_BANK"); + + var stockNames = await database.QueryAsync(STOCKNAMES_BY_BANKNAME, new { BankStockName = bankStockName }); + + if (stockNames.Count() > 0) + { + stockNameBank = stockNames.ToList()[0].StockNameBank; + } + + return stockNameBank; + } + } + + //RESET_STOCK_COMMENTS public async Task ResetCommentsFromNew() { diff --git a/StockTransToDB/StocksProviders/IDapperStocksProvider.cs b/StockTransToDB/StocksProviders/IDapperStocksProvider.cs index 2ad0a42..02f6553 100644 --- a/StockTransToDB/StocksProviders/IDapperStocksProvider.cs +++ b/StockTransToDB/StocksProviders/IDapperStocksProvider.cs @@ -8,6 +8,7 @@ namespace StockTransToDB.StocksProviders Task AddWebStockNames(string stockName); Task CleanStockNames(); Task> GetAllStocks(); + Task GetBankStockName(string bankStockName); Task> GetStockNames(); Task> GetStockNamesByPart(string idPart); Task> GetStockNameTable(); diff --git a/StockTransToDB/appsettings.json b/StockTransToDB/appsettings.json index 908696f..10ea043 100644 --- a/StockTransToDB/appsettings.json +++ b/StockTransToDB/appsettings.json @@ -1,6 +1,6 @@ { - "TransFile": "Skandiabanken_transaktioner_insatsen.xls", - "StdFileName": "StockData2022-10-10.txt", + "TransFile": "Skandiabanken_transaktioner_vinsthant.xls", + //"StdFileName": "StockData2022-10-10.txt", "Serilog": { "MinimumLevel": { "Default": "Information",