Now personal stock window is loaded asyncronous
(not locking the initial window)
This commit is contained in:
@ -145,6 +145,83 @@ namespace StockDal
|
||||
}
|
||||
}
|
||||
|
||||
public async Task LoadStockMarketListAsync(int persId)
|
||||
{
|
||||
StockMarketList = new Dictionary<string, DiTraderStockRow>();
|
||||
DumpObjects = new List<DiTraderStockRow>();
|
||||
var groupedStocks = persId == 0 ? _stockRepository.GetStocksGroupedAllPersons()
|
||||
: _stockRepository.GetStocksGroupedPerPerson(persId);
|
||||
|
||||
//var tasks = new List<Task<List<DiTraderStockRow>>>();
|
||||
|
||||
var lastGroup = string.Empty;
|
||||
var stockList = new List<string>();
|
||||
foreach (var groupedStock in groupedStocks)
|
||||
{
|
||||
if (groupedStock.StockGroup != lastGroup)
|
||||
{
|
||||
if (lastGroup != string.Empty)
|
||||
{
|
||||
_testSettings.StockWishes = stockList.ToArray();
|
||||
if (lastGroup == "ZNotFound")
|
||||
foreach (var stk in stockList)
|
||||
{
|
||||
//saveStockData(new List<DiTraderStockRow>(_scrapePage.SearchStockAndCollect(stk.Substring(0, 4))));
|
||||
//tasks.Add( Task.Run(() => new List<DiTraderStockRow>(_scrapePage.SearchStockAndCollect(stk.Substring(0, 4)))));
|
||||
saveStockData(await Task.Run(() => new List<DiTraderStockRow>(_scrapePage.SearchStockAndCollect(stk.Substring(0, 4)))));
|
||||
}
|
||||
else
|
||||
{
|
||||
//saveStockData(_scrapePage.GetMyStockStatus(lastGroup));
|
||||
//tasks.Add(Task.Run(() => _scrapePage.GetMyStockStatus(lastGroup)));
|
||||
saveStockData(await Task.Run(() => _scrapePage.GetMyStockStatus(lastGroup)));
|
||||
}
|
||||
stockList.Clear();
|
||||
lastGroup = groupedStock.StockGroup;
|
||||
}
|
||||
else
|
||||
{
|
||||
lastGroup = groupedStock.StockGroup;
|
||||
}
|
||||
|
||||
stockList.Add(groupedStock.StockId);
|
||||
}
|
||||
else
|
||||
{
|
||||
stockList.Add(groupedStock.StockId);
|
||||
}
|
||||
}
|
||||
|
||||
if (stockList.Count > 0)
|
||||
{
|
||||
_testSettings.StockWishes = stockList.ToArray();
|
||||
if (lastGroup == "ZNotFound")
|
||||
foreach (var stk in stockList)
|
||||
{
|
||||
//saveStockData(new List<DiTraderStockRow>(_scrapePage.SearchStockAndCollect(stk.Substring(0, 4))));
|
||||
//tasks.Add(Task.Run(() => new List<DiTraderStockRow>(_scrapePage.SearchStockAndCollect(stk.Substring(0, 4)))));
|
||||
saveStockData(await Task.Run(() => new List<DiTraderStockRow>(_scrapePage.SearchStockAndCollect(stk.Substring(0, 4)))));
|
||||
}
|
||||
else
|
||||
//saveStockData(_scrapePage.GetMyStockStatus(lastGroup));
|
||||
//tasks.Add(Task.Run(() => _scrapePage.GetMyStockStatus(lastGroup)));
|
||||
saveStockData(await Task.Run(() => _scrapePage.GetMyStockStatus(lastGroup)));
|
||||
stockList.Clear();
|
||||
}
|
||||
|
||||
//var results = await Task.WhenAll(tasks);
|
||||
//foreach(var result in results)
|
||||
//{
|
||||
// saveStockData(result);
|
||||
//}
|
||||
|
||||
if (DumpObjects.Any())
|
||||
{
|
||||
SaveLogging();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public DiTraderStockRow LoadStockMarketStockData(string searchedStock)
|
||||
{
|
||||
var groupedStocks = _stockRepository.GetGroupedStock(searchedStock);
|
||||
|
||||
Reference in New Issue
Block a user