84 lines
2.8 KiB
C#
84 lines
2.8 KiB
C#
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<StockGroupModel>();
|
|
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");
|
|
}
|
|
}
|
|
}
|