Program fixes , registering new stocks, without dbchanges

This commit is contained in:
2022-02-11 11:23:01 +01:00
parent 04ba6f6c2b
commit 02d8762ee0
14 changed files with 220 additions and 35 deletions

Binary file not shown.

BIN
StockInfoCore/Stocks.db-shm Normal file

Binary file not shown.

View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,4 +1,5 @@
using DataDomain;
using StockDal.Interface;
using StockDAL.Interface;
using System;
using System.Collections.Generic;
@ -16,24 +17,33 @@ namespace StockInfoCore
{
Color hdr = Color.Red;
private readonly IStockRepository _stockRepository;
private readonly IStockMarketRepository _stockMarketRepository;
private readonly IStockScrapePage _scrapePage;
public List<string> StockNames { get; set; }
public Dictionary<string, DiTraderStockRow> Stocks { get; set; }
public List<StockMember> RegisteredStocks { get; set; } = new List<StockMember>();
public frmRegisterStock(IStockRepository stockRepository)
public StockGroupModel StockGroupTmp { get; set; }
public frmRegisterStock(IStockRepository stockRepository,
IStockMarketRepository stockMarketRepository,
IStockScrapePage scrapePage)
{
InitializeComponent();
_stockRepository = stockRepository;
_stockMarketRepository = stockMarketRepository;
_scrapePage = scrapePage;
}
private void LoadStockCombo()
{
if (Stocks.Count() > 0)
cmbStockChoser.Items.Clear();
foreach (var key in StockNames)
{
foreach (var key in Stocks.Keys)
{
cmbStockChoser.Items.Add(key);
}
cmbStockChoser.Items.Add(key);
}
}
@ -45,22 +55,31 @@ namespace StockInfoCore
private void frmRegisterStock_Shown(object sender, EventArgs e)
{
StockNames = _stockRepository.GetStockNames();
LoadStockCombo();
}
private void cmbStockChoser_SelectedIndexChanged(object sender, EventArgs e)
{
var stockChosen = Stocks[cmbStockChoser.SelectedItem.ToString()];
txtStockExtId.Text = stockChosen.StockName;
txtActValue.Text = stockChosen.LatestPrice.ToString();
txtActDate.Text = (DateTime.Today + stockChosen.TimeOfDay).ToString();
var stockSold = _stockRepository.LatestSell(stockChosen.StockName.Trim());
if (stockSold != null)
if (Stocks.ContainsKey(cmbStockChoser.SelectedItem.ToString()))
{
if (stockSold.LatestSoldDate != null)
var stockChosen = Stocks[cmbStockChoser.SelectedItem.ToString()];
txtStockExtId.Text = stockChosen.StockName;
txtActValue.Text = stockChosen.LatestPrice.ToString();
txtActDate.Text = (DateTime.Today + stockChosen.TimeOfDay).ToString();
var stockSold = _stockRepository.LatestSell(stockChosen.StockName.Trim());
if (stockSold != null)
{
txtLatestSoldDate.Text = stockSold.LatestSoldDate.Value.ToString();
txtLatestSoldPrice.Text = stockSold.SoldStockPrice.ToString();
if (stockSold.LatestSoldDate != null)
{
txtLatestSoldDate.Text = stockSold.LatestSoldDate.Value.ToString();
txtLatestSoldPrice.Text = stockSold.SoldStockPrice.ToString();
}
else
{
txtLatestSoldDate.Text = string.Empty;
txtLatestSoldPrice.Text = string.Empty;
}
}
else
{
@ -68,10 +87,24 @@ namespace StockInfoCore
txtLatestSoldPrice.Text = string.Empty;
}
}
else if (StockNames.Contains(cmbStockChoser.SelectedItem.ToString()))
{
var stockChosen = _stockMarketRepository.LoadStockMarketStockData(cmbStockChoser.SelectedItem.ToString());
txtStockExtId.Text = stockChosen.StockName;
txtActValue.Text = stockChosen.LatestPrice.ToString();
txtActDate.Text = (DateTime.Today + stockChosen.TimeOfDay).ToString();
}
else
{
txtLatestSoldDate.Text = string.Empty;
txtLatestSoldPrice.Text = string.Empty;
var stockChosen = _scrapePage.SearchStockAndCollect(cmbStockChoser.Text.Substring(0, 4));
if (stockChosen.Count > 0)
{
txtStockExtId.Text = stockChosen[0].StockName;
txtActValue.Text = stockChosen[0].LatestPrice.ToString();
txtActDate.Text = (DateTime.Today + stockChosen[0].TimeOfDay).ToString();
StockGroupTmp.StockGroup = "ZNotFound";
StockGroupTmp.StockName = stockChosen[0].StockName;
}
}
}
@ -134,7 +167,13 @@ namespace StockInfoCore
private void btnSaveToDB_Click(object sender, EventArgs e)
{
if (RegisteredStocks.Count > 0)
{
_stockRepository.InsertMany(RegisteredStocks);
lwRegBuffer.Clear();
RegisteredStocks.Clear();
_stockRepository.SaveStockGroup(StockGroupTmp);
}
}
private void txtBoughtAmount_TextChanged(object sender, EventArgs e)