183 lines
5.9 KiB
C#
183 lines
5.9 KiB
C#
using StockDal.Interface;
|
|
using StockDAL.Interface;
|
|
using DataDomain;
|
|
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;
|
|
using System.Text.Json;
|
|
using System.IO;
|
|
|
|
namespace StockInfo
|
|
{
|
|
public partial class frmInitial : Form
|
|
{
|
|
private readonly IStockRepository _stockRepository;
|
|
private readonly IStockMarketRepository _stockMarketRepository;
|
|
private readonly IPersonRepository _personRepository;
|
|
private readonly IAddressRepository _addressRepository;
|
|
private frmRegisterStock regWindow;
|
|
private frmMyStocks stockWindow;
|
|
private frmSelling sellWindow;
|
|
private frmPerson personWindow;
|
|
|
|
public frmInitial(
|
|
IStockRepository stockMemberRepository,
|
|
IStockMarketRepository stockMarketRepository,
|
|
IPersonRepository personRepository,
|
|
IAddressRepository addressRepository)
|
|
{
|
|
InitializeComponent();
|
|
_stockRepository = stockMemberRepository;
|
|
_stockMarketRepository = stockMarketRepository;
|
|
_personRepository = personRepository;
|
|
_addressRepository = addressRepository;
|
|
}
|
|
|
|
private void Form1_Load(object sender, EventArgs e)
|
|
{
|
|
ReloadData();
|
|
btnRestoreShares.Enabled = false;
|
|
btnBackupShares.Enabled = false;
|
|
btnReloadShares.Enabled = false;
|
|
}
|
|
|
|
private void ReloadData()
|
|
{
|
|
var allStocks = _stockRepository.GetAllStocks();
|
|
dataGridView.DataSource = allStocks;
|
|
// SaveStocks(allStocks);
|
|
lblTotalRecords.Text = $"Total records: {dataGridView.RowCount}";
|
|
}
|
|
|
|
|
|
private void btnReload_Click(object sender, EventArgs e)
|
|
{
|
|
ReloadData();
|
|
}
|
|
|
|
private void btnTestScrapFunction_Click(object sender, EventArgs e)
|
|
{
|
|
_stockMarketRepository.LoadStockMarketList(chbShowBrowser.Checked);
|
|
var stocklist = _stockMarketRepository.StockMarketList;
|
|
lblStockRows.Text = stocklist.Count().ToString();
|
|
btnReloadShares.Enabled = true;
|
|
}
|
|
|
|
private void frmInitial_FormClosing(object sender, FormClosingEventArgs e)
|
|
{
|
|
_stockMarketRepository.Clean();
|
|
}
|
|
|
|
|
|
|
|
private void Button1reload()
|
|
{
|
|
lblStockRows.Text = "";
|
|
_stockMarketRepository.RefreshMarketList();
|
|
var stocklist = _stockMarketRepository.StockMarketList;
|
|
lblStockRows.Text = stocklist.Count().ToString();
|
|
}
|
|
|
|
private void btnStockReg_Click(object sender, EventArgs e)
|
|
{
|
|
Cursor.Current = Cursors.WaitCursor;
|
|
_stockMarketRepository.LoadStockMarketList();
|
|
regWindow = new frmRegisterStock();
|
|
regWindow.Stocks = _stockMarketRepository.StockMarketList;
|
|
Cursor.Current = DefaultCursor;
|
|
regWindow.ShowDialog();
|
|
|
|
_stockRepository.InsertMany(regWindow.RegisteredStocks);
|
|
|
|
ReloadData();
|
|
}
|
|
|
|
private void btnValueView_Click(object sender, EventArgs e)
|
|
{
|
|
Cursor.Current = Cursors.WaitCursor;
|
|
_stockMarketRepository.LoadStockMarketList();
|
|
stockWindow = new frmMyStocks(_stockRepository, _stockMarketRepository);
|
|
stockWindow.Stocks = _stockMarketRepository.StockMarketList;
|
|
Cursor.Current = DefaultCursor;
|
|
stockWindow.ShowDialog();
|
|
}
|
|
|
|
|
|
|
|
private void chkEnableBackRes_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
if (chkEnableBackRes.Checked)
|
|
{
|
|
btnRestoreShares.Enabled = true;
|
|
btnBackupShares.Enabled = true;
|
|
}
|
|
else
|
|
{
|
|
btnRestoreShares.Enabled = false;
|
|
btnBackupShares.Enabled = false;
|
|
}
|
|
}
|
|
|
|
private void btnBackupShares_Click(object sender, EventArgs e)
|
|
{
|
|
var stockList = _stockRepository.GetAllStocks();
|
|
var jsonStr = JsonSerializer.Serialize(stockList);
|
|
sfdSaver.Title = "Backup your sharedata";
|
|
sfdSaver.Filter = "Backup file (.json)|*.json";
|
|
sfdSaver.FileName = $"StockBackup{DateTime.Now.ToFileTime()}";
|
|
|
|
if (sfdSaver.ShowDialog() == DialogResult.OK)
|
|
{
|
|
File.WriteAllText(sfdSaver.FileName, jsonStr);
|
|
}
|
|
}
|
|
|
|
private void btnRestoreShares_Click(object sender, EventArgs e)
|
|
{
|
|
ofdOpener.Title = "Restore your share data";
|
|
ofdOpener.Filter = "Restore file (.json)|*.json";
|
|
ofdOpener.CheckFileExists = true;
|
|
if (ofdOpener.ShowDialog() == DialogResult.OK)
|
|
{
|
|
var jsonStr = File.ReadAllText(ofdOpener.FileName);
|
|
var stockList = JsonSerializer.Deserialize<List<StockMember>>(jsonStr);
|
|
|
|
_stockRepository.RestoreStockMembers(stockList);
|
|
};
|
|
}
|
|
|
|
private void btnReloadShares_Click(object sender, EventArgs e)
|
|
{
|
|
Button1reload();
|
|
}
|
|
|
|
private void btnStockSale_Click(object sender, EventArgs e)
|
|
{
|
|
Cursor.Current = Cursors.WaitCursor;
|
|
sellWindow = new frmSelling(_stockRepository);
|
|
Cursor.Current = DefaultCursor;
|
|
sellWindow.ShowDialog();
|
|
|
|
ReloadData();
|
|
}
|
|
private void btnEditPerson_Click(object sender, EventArgs e)
|
|
{
|
|
Cursor.Current = Cursors.WaitCursor;
|
|
personWindow = new frmPerson(_personRepository, _addressRepository);
|
|
Cursor.Current = DefaultCursor;
|
|
personWindow.ShowDialog();
|
|
}
|
|
|
|
private void btnConnShares_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
}
|
|
}
|