Extra utility-page created , putting all stockgroups in place

This commit is contained in:
2022-10-12 21:05:33 +02:00
parent 6e2eb207a3
commit 0cb51d70cb
8 changed files with 63 additions and 7 deletions

View File

@ -12,5 +12,7 @@ namespace BrowserHelper.Settings
public string[] StockWishes { get; set; }
public string[] StocWishCols { get; set; }
public string[] StockGroups { get; set; }
public string[] ZNotFoundStocks { get; set; }
}
}

View File

@ -7,6 +7,7 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\BrowserHelper\BrowserHelper.csproj" />
<ProjectReference Include="..\DataDomain\DataDomain.csproj" />
</ItemGroup>

View File

@ -1,5 +1,7 @@
using DataDomain;
using BrowserHelper.Settings;
using DataDomain;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Options;
using System;
using System.Collections.Generic;
using System.Linq;
@ -10,6 +12,7 @@ namespace DatamodelLibrary
{
public class StockContext : DbContext
{
public DbSet<StockMember> Stocks { get; set; }
public DbSet<Person> Persons { get; set; }
public DbSet<Address> Addresses { get; set; }
@ -17,7 +20,9 @@ namespace DatamodelLibrary
public DbSet<BackupRegister> BackupRegings { get; set; }
public DbSet<StockGroupModel> StockGroups { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder options)
=> options.UseSqlite(@"Data Source=.\Stocks.db");
=> options.UseSqlite("Data Source=C:\\Aktier\\net6.0-windows\\NewData\\Stocks.db");
//=> options.UseSqlite(@"Data Source=.\Stocks.db");
}
}

View File

@ -176,6 +176,25 @@ namespace StockDAL
return result;
}
public bool EmptyStockGroups()
{
using var context = new StockContext();
try
{
var groupRows = from g in context.StockGroups
select g;
foreach (var row in groupRows)
{
context.StockGroups.Remove(row);
}
context.SaveChanges();
return true;
}
catch (Exception ex)
{
return false;
}
}
public StockGroupModel SaveStockGroup(StockGroupModel stockGroup)
{

View File

@ -92,9 +92,9 @@ namespace StockDAL
{
var resList = new List<StockGroupModel>();
var nr = startNo;
Thread.Sleep(500);
Thread.Sleep(1000);
chooseList.SelectDropDownByText(listText);
Thread.Sleep(3000);
Thread.Sleep(5000);
var stocklist = tblList.ReadHandledStock();
foreach (var stock in stocklist)
{

View File

@ -25,5 +25,6 @@ namespace StockDAL.Interface
List<string> GetStockNames();
IEnumerable<StockGrpPers> GetGroupedStock(string stock);
StockGroupModel SaveStockGroup(StockGroupModel stockGroup);
bool EmptyStockGroups();
}
}

View File

@ -16,5 +16,6 @@
"NGM Equity",
"beQuoted",
"Nordic SME"
]
],
"ZNotFoundStocks": [ "Pfizer" ]
}

View File

@ -18,18 +18,22 @@ namespace StockInfoCore
{
private readonly TestSettings _testSettings;
private readonly IStockScrapePage _stockScrapePage;
private readonly IStockRepository _stockRepository;
public frmUtilities(TestSettings testSettings,IStockScrapePage stockScrapePage)
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)
{
@ -42,13 +46,36 @@ namespace StockInfoCore
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");
}