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)
|
public DiTraderStockRow LoadStockMarketStockData(string searchedStock)
|
||||||
{
|
{
|
||||||
var groupedStocks = _stockRepository.GetGroupedStock(searchedStock);
|
var groupedStocks = _stockRepository.GetGroupedStock(searchedStock);
|
||||||
|
|||||||
@ -16,6 +16,7 @@ namespace StockDal.Interface
|
|||||||
|
|
||||||
void LoadStockMarketList(int persId);
|
void LoadStockMarketList(int persId);
|
||||||
//void LoadStockMarketList(int persId, bool viewBrowser);
|
//void LoadStockMarketList(int persId, bool viewBrowser);
|
||||||
|
Task LoadStockMarketListAsync(int persId);
|
||||||
DiTraderStockRow LoadStockMarketStockData(string searchedStock);
|
DiTraderStockRow LoadStockMarketStockData(string searchedStock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -140,7 +140,7 @@ namespace StockInfoCore
|
|||||||
ReloadData();
|
ReloadData();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnValueView_Click(object sender, EventArgs e)
|
private async void btnValueView_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
//if(!GlobalStopwatch.IsRunning && GlobalStopwatch.EllapsedMillis>0)
|
//if(!GlobalStopwatch.IsRunning && GlobalStopwatch.EllapsedMillis>0)
|
||||||
// GlobalStopwatch.Restart();
|
// GlobalStopwatch.Restart();
|
||||||
@ -155,7 +155,8 @@ namespace StockInfoCore
|
|||||||
var person = _personRepository.GetPersonById(SelectedPersonId);
|
var person = _personRepository.GetPersonById(SelectedPersonId);
|
||||||
Cursor.Current = Cursors.WaitCursor;
|
Cursor.Current = Cursors.WaitCursor;
|
||||||
|
|
||||||
_stockMarketRepository.LoadStockMarketList(SelectedPersonId);
|
await _stockMarketRepository.LoadStockMarketListAsync(SelectedPersonId);
|
||||||
|
|
||||||
_stockWindow.ConnectedPerson = person;
|
_stockWindow.ConnectedPerson = person;
|
||||||
_stockWindow.Stocks = _stockMarketRepository.StockMarketList;
|
_stockWindow.Stocks = _stockMarketRepository.StockMarketList;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user