Take care of splits
This commit is contained in:
@ -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 });
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -11,6 +11,8 @@ namespace LoadStockDbFromTrans.StocksProviders
|
||||
Task<IEnumerable<string>> GetStockNames();
|
||||
Task<IEnumerable<StockNames>> GetStockNameTable();
|
||||
Task<IEnumerable<StockMember>> GetStocksByStockId(string stockId, DateTime Affärsdag);
|
||||
Task<IEnumerable<StockMember>> GetStocksByStockIdPart(string stockIdPart, DateTime Affärsdag);
|
||||
Task RemoveStockById(int id);
|
||||
Task UpdateStock(StockMember stockMember);
|
||||
Task UpdateStockName(string stockNameBank, string stockNameWeb);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user