Now even Pfizer. Inc. can be managed

This commit is contained in:
2022-02-08 23:50:25 +01:00
parent d56e69b448
commit f38824becf
4 changed files with 110 additions and 7 deletions

View File

@ -249,7 +249,7 @@ namespace StockDal
//GlobalStopwatch.PrintSecs("After dictionaries setup ");
var groupedStocks = _stockRepository.GetStocksGroupedPerPerson(persId);
//GlobalStopwatch.PrintSecs("After groupedStocks fetched ");
var restStocks = new List<string>();
var lastGroup = string.Empty;
var stockList = new List<string>();
foreach(var groupedStock in groupedStocks)
@ -261,8 +261,15 @@ namespace StockDal
_testSettings.StockWishes = stockList.ToArray();
stockList.Clear();
//GlobalStopwatch.PrintSecs("Before GetStockStatus");
saveStockData( _scrapePage.GetMyStockStatus(lastGroup));
if (lastGroup == "ZNotFound")
saveStockData(new List<DiTraderStockRow>( _scrapePage.SearchStockAndCollect("Pfizer")));
else
saveStockData( _scrapePage.GetMyStockStatus(lastGroup));
//GlobalStopwatch.PrintSecs("After GetStockStatus");
if (_testSettings.StockWishes.Length > 0)
{
restStocks.AddRange(_testSettings.StockWishes);
}
lastGroup = groupedStock.StockGroup;
}
else
@ -282,7 +289,14 @@ namespace StockDal
{
_testSettings.StockWishes = stockList.ToArray();
stockList.Clear();
saveStockData(_scrapePage.GetMyStockStatus(lastGroup));
if (lastGroup == "ZNotFound")
saveStockData(new List<DiTraderStockRow>(_scrapePage.SearchStockAndCollect("Pfizer")));
else
saveStockData(_scrapePage.GetMyStockStatus(lastGroup));
if (_testSettings.StockWishes.Length > 0)
{
restStocks.AddRange(_testSettings.StockWishes);
}
}
if (DumpObjects.Any())

View File

@ -32,8 +32,46 @@ namespace StockDAL
Thread.Sleep(500);
chooseList.SelectDropDownByText(listText);
Thread.Sleep(800);
var stockList = tblList.SimpleReadTablePartly(_testSettings.StockWishes, _testSettings.StocWishCols);
return stockList;
var stockListTuple = tblList.SimpleReadTablePartly(_testSettings.StockWishes, _testSettings.StocWishCols);
return stockListTuple;
}
public List<DiTraderStockRow> SearchStockAndCollect(string stockName)
{
var returnValue = new List<DiTraderStockRow>();
IWebElement searchStock = _driver.FindElement(By.XPath("//*[@id='searchbox']/div/div[1]/input"));
searchStock.ClearAndEnterText(stockName);
//Console.WriteLine("SearchField filled out");
Thread.Sleep(1000);
var clicker = searchStock.FindElements(By.XPath("//*[@id='searchbox']/div/div[2]/table/tbody/tr/td/a"));
// Thread.Sleep(1000);
//Console.WriteLine("Click-field searched");
if (clicker.FirstOrDefault() != null)
{
if (clicker.FirstOrDefault().Displayed)
{
var output = new DiTraderStockRow();
output.StockName = clicker.FirstOrDefault().Text;
// Console.WriteLine("Click-field found");
//Thread.Sleep(1000);
clicker.FirstOrDefault().Click();
Thread.Sleep(800);
var valueField = _driver.FindElement(By.XPath("//*[@id='quote-details']/table/tbody/tr/td[5]"));
//Console.WriteLine("value-field searched");
if (valueField.Displayed)
{
//Console.WriteLine("value-field found");
output.LatestPrice = decimal.Parse( valueField.Text);
output.TimeOfDay = TimeSpan.Parse(DateTime.Now.ToString().Substring(11));
_driver.FindElement(By.XPath("//*[@id='equity-detail-page']/div[1]/div[1]/a")).Click();
returnValue.Add(output);
return returnValue;
}
}
}
//Console.WriteLine("Click-field not found");
return null;
}
public void GetStocksPerList(string listText)