Take care of splits

This commit is contained in:
2022-09-14 17:13:55 +02:00
parent f3c41b33b0
commit b4dc4b245b
6 changed files with 157 additions and 9 deletions

View File

@ -70,6 +70,13 @@ namespace LoadStockDbFromTrans.StocksProviders
AND BuyDate <= @BuyDate
ORDER BY BuyDate DESC";
private const string GET_STOCKS_BY_STOCKIDPART = @"
SELECT *
FROM Stocks
WHERE Substring(StockId,1,@Length) = @StockIdPart
AND BuyDate <= @BuyDate
ORDER BY BuyDate DESC";
private const string ADD_TO_STOCKNAME = @"
Insert into StockNames (StockNameWeb, StockNameBank)
values ( @StockId, @StockId)";
@ -97,6 +104,11 @@ namespace LoadStockDbFromTrans.StocksProviders
SELECT 1 FROM StockNames WHERE StockNameWeb = @StockNameWeb)
THEN 1 ELSE 0 END as BIT)";
private const string DELETE_STOCK_BY_ID = @"
SELECT *
FROM Stocks
WHERE Id = @Id";
private readonly SqliteDbConnectionFactory _sqliteDbConnectionFactory;
private readonly ILogger<DapperStocksProvider> _log;
@ -186,6 +198,25 @@ namespace LoadStockDbFromTrans.StocksProviders
return stockMembers.ToList();
}
}
public async Task<IEnumerable<StockMember>> GetStocksByStockIdPart(string stockIdPart, DateTime Affärsdag)
{
using (IDbConnection database = _sqliteDbConnectionFactory.Connect())
{
// Obs ta hänsyn till köpdatum
_log.LogInformation("GET_STOCKS_BY_STOCKIDPART");
var tmpstr = stockIdPart.Substring(0, stockIdPart.IndexOf(" "));
object parameters = new
{
Length = tmpstr.Length,
StockIdPart = tmpstr,
BuyDate = Affärsdag
};
IEnumerable<StockMember> stockMembers = await database.QueryAsync<StockMember>(GET_STOCKS_BY_STOCKIDPART, parameters);
return stockMembers.ToList();
}
}
public async Task UpdateStock(StockMember stockMember)
{
using (IDbConnection database = _sqliteDbConnectionFactory.Connect())
@ -248,5 +279,16 @@ namespace LoadStockDbFromTrans.StocksProviders
}
}
public async Task RemoveStockById(int id)
{
using (IDbConnection database = _sqliteDbConnectionFactory.Connect())
{
// Obs ta hänsyn till köpdatum
_log.LogInformation("DELETE_STOCK_BY_ID");
await database.ExecuteAsync(DELETE_STOCK_BY_ID, new { Id = id });
}
}
}
}