using BrowserHelper.Settings; using DataDomain; using StockDal.Interface; using StockDAL.Interface; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace StockInfoCore { public partial class frmUtilities : Form { private readonly TestSettings _testSettings; private readonly IStockScrapePage _stockScrapePage; private readonly IStockRepository _stockRepository; public frmUtilities(TestSettings testSettings,IStockScrapePage stockScrapePage,IStockRepository stockRepository) { InitializeComponent(); _testSettings = testSettings; _stockScrapePage = stockScrapePage; _stockRepository = stockRepository; } private void btnReadStockLists_Click(object sender, EventArgs e) { Cursor = Cursors.WaitCursor; var groupNames = _testSettings.StockGroups; var groupStockList = new List(); var znotfounds = _testSettings.ZNotFoundStocks; var rowNr = 0; foreach (var group in groupNames) { var biggest = groupStockList.Count>0? groupStockList.Aggregate((g1, g2) => g1.Id > g2.Id ? g1 : g2) :null; if(biggest != null) groupStockList.AddRange(_stockScrapePage.GetGroupStocksList(group,biggest.Id)); else groupStockList.AddRange(_stockScrapePage.GetGroupStocksList(group)); } if(groupStockList.Count > 0) { lvStockGroups.Items.Clear(); if(! _stockRepository.EmptyStockGroups()) { MessageBox.Show("Misslyckat borttag av StockGroups!"); return; } } foreach(var group in groupStockList) { _stockRepository.SaveStockGroup(group); var x = lvStockGroups.Items.Add(group.Id.ToString()); x.SubItems.Add(group.StockGroup.ToString()); x.SubItems.Add(group.StockName.ToString()); } foreach(var stk in znotfounds) { var item = _stockRepository.SaveStockGroup(new StockGroupModel { StockGroup = "ZNotFound", StockName = stk }); var x = lvStockGroups.Items.Add(item.Id.ToString()); x.SubItems.Add(item.StockGroup.ToString()); x.SubItems.Add(item.StockName.ToString()); } Cursor = Cursors.Default; lvStockGroups.Refresh(); //_stockScrapePage.GetStocksPerList("OMX Stockholm Large Cap"); } } }