Program fixes , registering new stocks, without dbchanges
This commit is contained in:
@ -34,9 +34,9 @@ namespace StockDal
|
||||
private readonly IStockScrapePage _scrapePage;
|
||||
|
||||
public StockMarketRepository(
|
||||
IStockPersonConnect stockPersonConnect,
|
||||
IStockPersonConnect stockPersonConnect,
|
||||
IStockRepository stockRepository,
|
||||
TestSettings testSettings,
|
||||
TestSettings testSettings,
|
||||
IStockScrapePage scrapePage)
|
||||
{
|
||||
ViewBrowser = false;
|
||||
@ -84,7 +84,7 @@ namespace StockDal
|
||||
TextResults.Append("\r\n");
|
||||
}
|
||||
|
||||
// var oxe = StockMarketList;
|
||||
// var oxe = StockMarketList;
|
||||
}
|
||||
|
||||
private void SaveLogging()
|
||||
@ -153,13 +153,13 @@ namespace StockDal
|
||||
}
|
||||
case 9:
|
||||
{
|
||||
SaveRow.TimeOfDay = value==""?TimeSpan.Parse("00:01"): TimeSpan.Parse(value);
|
||||
SaveRow.TimeOfDay = value == "" ? TimeSpan.Parse("00:01") : TimeSpan.Parse(value);
|
||||
//StockMarketList.Add(SaveRow.StockName, SaveRow);
|
||||
try
|
||||
{
|
||||
StockMarketList.Add(SaveRow.StockName, SaveRow);
|
||||
}
|
||||
catch (ArgumentException )
|
||||
catch (ArgumentException)
|
||||
{
|
||||
try
|
||||
{
|
||||
@ -168,7 +168,7 @@ namespace StockDal
|
||||
catch (Exception)
|
||||
{
|
||||
DumpObjects.Add(SaveRow);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
@ -207,7 +207,7 @@ namespace StockDal
|
||||
var url2 = "https://trader.di.se/index.php/stocklist/index/2055?list=7116";
|
||||
var url3 = "https://trader.di.se/index.php/stocklist/index/2055?list=7127";
|
||||
//var url1 = "https://www.finansportalen.se/aktiekurser/";
|
||||
driver.Navigate().GoToUrl(burl2.HasValue? (burl2.Value ? url2 : url):url3);
|
||||
driver.Navigate().GoToUrl(burl2.HasValue ? (burl2.Value ? url2 : url) : url3);
|
||||
|
||||
}
|
||||
catch
|
||||
@ -219,7 +219,7 @@ namespace StockDal
|
||||
|
||||
private void saveStockData(List<DiTraderStockRow> saveRow)
|
||||
{
|
||||
foreach(var row in saveRow)
|
||||
foreach (var row in saveRow)
|
||||
{
|
||||
try
|
||||
{
|
||||
@ -245,21 +245,21 @@ namespace StockDal
|
||||
public void LoadStockMarketList(int persId)
|
||||
{
|
||||
StockMarketList = new Dictionary<string, DiTraderStockRow>();
|
||||
DumpObjects = new List<DiTraderStockRow>();
|
||||
DumpObjects = new List<DiTraderStockRow>();
|
||||
var groupedStocks = _stockRepository.GetStocksGroupedPerPerson(persId);
|
||||
var lastGroup = string.Empty;
|
||||
var stockList = new List<string>();
|
||||
foreach(var groupedStock in groupedStocks)
|
||||
foreach (var groupedStock in groupedStocks)
|
||||
{
|
||||
if (groupedStock.StockGroup != lastGroup)
|
||||
{
|
||||
if(lastGroup != string.Empty)
|
||||
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))));
|
||||
saveStockData(new List<DiTraderStockRow>(_scrapePage.SearchStockAndCollect(stk.Substring(0, 4))));
|
||||
}
|
||||
else
|
||||
saveStockData(_scrapePage.GetMyStockStatus(lastGroup));
|
||||
@ -279,7 +279,7 @@ namespace StockDal
|
||||
}
|
||||
}
|
||||
|
||||
if(stockList.Count > 0)
|
||||
if (stockList.Count > 0)
|
||||
{
|
||||
_testSettings.StockWishes = stockList.ToArray();
|
||||
if (lastGroup == "ZNotFound")
|
||||
@ -298,6 +298,66 @@ namespace StockDal
|
||||
}
|
||||
}
|
||||
|
||||
public DiTraderStockRow LoadStockMarketStockData(string searchedStock)
|
||||
{
|
||||
//StockMarketList = new Dictionary<string, DiTraderStockRow>();
|
||||
//DumpObjects = new List<DiTraderStockRow>();
|
||||
var groupedStocks = _stockRepository.GetGroupedStock(searchedStock);
|
||||
var lastGroup = string.Empty;
|
||||
var stockList = new List<string>();
|
||||
var output = new List<DiTraderStockRow>();
|
||||
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)
|
||||
{
|
||||
output = _scrapePage.SearchStockAndCollect(stk.Substring(0, 4));
|
||||
}
|
||||
else
|
||||
output = _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)
|
||||
{
|
||||
output = _scrapePage.SearchStockAndCollect(stk.Substring(0, 4));
|
||||
}
|
||||
else
|
||||
output = _scrapePage.GetMyStockStatus(lastGroup);
|
||||
stockList.Clear();
|
||||
}
|
||||
|
||||
return output[0];
|
||||
|
||||
//if (DumpObjects.Any())
|
||||
//{
|
||||
// SaveLogging();
|
||||
//}
|
||||
}
|
||||
|
||||
|
||||
public void LoadStockMarketList(int persId, bool viewBrowser)
|
||||
{
|
||||
|
||||
@ -133,6 +133,8 @@ namespace StockDAL
|
||||
context.SaveChanges();
|
||||
}
|
||||
|
||||
|
||||
|
||||
public IEnumerable<StockGrpPers> GetStocksGroupedPerPerson(int persId)
|
||||
{
|
||||
using var context = new StockContext();
|
||||
@ -140,12 +142,52 @@ namespace StockDAL
|
||||
join stk in context.Stocks on prs.StockId equals stk.Id
|
||||
join grp in context.StockGroups on stk.StockId equals grp.StockName
|
||||
where prs.PersonId == persId
|
||||
orderby grp.GroupName, grp.StockName
|
||||
orderby grp.StockGroup, grp.StockName
|
||||
select new StockGrpPers
|
||||
{
|
||||
PersId = persId,
|
||||
StockId = stk.StockId,
|
||||
StockGroup = grp.GroupName
|
||||
StockGroup = grp.StockGroup
|
||||
}).ToList();
|
||||
return result;
|
||||
}
|
||||
|
||||
public StockGroupModel SaveStockGroup(StockGroupModel stockGroup)
|
||||
{
|
||||
using var context = new StockContext();
|
||||
var entity = (from sg in context.StockGroups
|
||||
where sg.Id == stockGroup.Id
|
||||
select sg).FirstOrDefault();
|
||||
if (entity == null)
|
||||
{
|
||||
entity = new StockGroupModel
|
||||
{
|
||||
StockGroup = stockGroup.StockGroup,
|
||||
StockName = stockGroup.StockName
|
||||
};
|
||||
context.StockGroups.Add(entity);
|
||||
}
|
||||
else
|
||||
{
|
||||
entity.StockGroup = stockGroup.StockGroup;
|
||||
entity.StockName = stockGroup.StockName;
|
||||
}
|
||||
context.SaveChanges();
|
||||
|
||||
return entity;
|
||||
}
|
||||
|
||||
|
||||
public IEnumerable<StockGrpPers> GetGroupedStock(string stock)
|
||||
{
|
||||
using var context = new StockContext();
|
||||
var result = (from grp in context.StockGroups
|
||||
where grp.StockName == stock
|
||||
select new StockGrpPers
|
||||
{
|
||||
PersId = 0,
|
||||
StockId = grp.StockName,
|
||||
StockGroup = grp.StockGroup
|
||||
}).ToList();
|
||||
return result;
|
||||
}
|
||||
@ -184,5 +226,17 @@ namespace StockDAL
|
||||
throw new InvalidOperationException(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
public List<string> GetStockNames()
|
||||
{
|
||||
using var context = new StockContext();
|
||||
var output = (from stg in context.StockGroups
|
||||
orderby stg.StockName
|
||||
select stg.StockName).ToList();
|
||||
return output;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -32,8 +32,8 @@ namespace StockDAL
|
||||
Thread.Sleep(500);
|
||||
chooseList.SelectDropDownByText(listText);
|
||||
Thread.Sleep(800);
|
||||
var stockListTuple = tblList.SimpleReadTablePartly(_testSettings.StockWishes, _testSettings.StocWishCols);
|
||||
return stockListTuple;
|
||||
var stockList = tblList.SimpleReadTablePartly(_testSettings.StockWishes, _testSettings.StocWishCols);
|
||||
return stockList;
|
||||
}
|
||||
|
||||
public List<DiTraderStockRow> SearchStockAndCollect(string stockName)
|
||||
|
||||
Reference in New Issue
Block a user