Add project files.

This commit is contained in:
2021-05-09 22:10:25 +02:00
parent f20ba23e7b
commit f8c472a4cd
70 changed files with 6207 additions and 0 deletions

268
StockInfoCore/frmInitial.cs Normal file
View File

@ -0,0 +1,268 @@
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;
using Helpers;
using StockBL.Interface;
using SqliteBackups.Interfaces;
namespace StockInfoCore
{
public partial class frmInitial : Form
{
private readonly IStockRepository _stockRepository;
private readonly IStockMarketRepository _stockMarketRepository;
private readonly IPersonRepository _personRepository;
private readonly IAddressRepository _addressRepository;
private readonly IStockPersonConnect _stockPersonConnect;
private readonly IBackupRepository _backupRepository;
private readonly IBackupRoutines _backupRoutines;
private readonly IPersonStockFacade _personStockFacade;
private readonly frmRegisterStock _regWindow;
private readonly frmMyStocks _stockWindow;
private readonly frmSelling _sellWindow;
private readonly frmPerson _personWindow;
private readonly frmPersonShareConnect _personShareConnect;
private readonly frmBackup _backupWindow;
//private frmRegisterStock regWindow;
//private frmMyStocks stockWindow;
//private frmSelling sellWindow;
//private frmPerson personWindow;
//private frmPersonShareConnect personShareConnect;
//private frmBackup backupWindow;
public int SelectedPersonId { get; set; } = 0;
public frmInitial(
IStockRepository stockMemberRepository,
IStockMarketRepository stockMarketRepository,
IPersonRepository personRepository,
IAddressRepository addressRepository,
IStockPersonConnect stockPersonConnect,
IBackupRepository backupRepository,
IBackupRoutines backupRoutines,
IPersonStockFacade personStockFacade,
frmRegisterStock regWindow,
frmMyStocks stockWindow,
frmSelling sellWindow,
frmPerson personWindow,
frmPersonShareConnect personShareConnect,
frmBackup backupWindow
)
{
InitializeComponent();
_stockRepository = stockMemberRepository;
_stockMarketRepository = stockMarketRepository;
_personRepository = personRepository;
_addressRepository = addressRepository;
_stockPersonConnect = stockPersonConnect;
_backupRepository = backupRepository;
_backupRoutines = backupRoutines;
_personStockFacade = personStockFacade;
_regWindow = regWindow;
_stockWindow = stockWindow;
_sellWindow = sellWindow;
_personWindow = personWindow;
_personShareConnect = personShareConnect;
_backupWindow = backupWindow;
}
private void Form1_Load(object sender, EventArgs e)
{
ReloadData();
btnRestoreShares.Enabled = false;
btnBackupShares.Enabled = false;
btnReloadShares.Enabled = false;
btnBackupAll.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.Stocks = _stockMarketRepository.StockMarketList;
Cursor.Current = DefaultCursor;
_regWindow.ShowDialog();
_stockRepository.InsertMany(_regWindow.RegisteredStocks);
ReloadData();
}
private void btnValueView_Click(object sender, EventArgs e)
{
if (SelectedPersonId == 0)
{
MessageBox.Show($"Ingen person vald ({SelectedPersonId})");
}
else
{
var person = _personRepository.GetPersonById(SelectedPersonId);
Cursor.Current = Cursors.WaitCursor;
_stockMarketRepository.LoadStockMarketList();
_stockWindow.ConnectedPerson = person;
_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;
btnBackupAll.Enabled = true;
}
else
{
btnRestoreShares.Enabled = false;
btnBackupShares.Enabled = false;
btnBackupAll.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)
{
_sellWindow.ShowDialog();
ReloadData();
}
private void btnEditPerson_Click(object sender, EventArgs e)
{
Cursor.Current = Cursors.WaitCursor;
_personWindow.PersonId = SelectedPersonId;
Cursor.Current = DefaultCursor;
_personWindow.ShowDialog();
LoadCmbOwners();
}
private void btnConnShares_Click(object sender, EventArgs e)
{
if (SelectedPersonId == 0)
{
MessageBox.Show($"Ingen person vald ({SelectedPersonId})");
}
else
{
var person = _personRepository.GetPersonById(SelectedPersonId);
Cursor.Current = Cursors.WaitCursor;
_personShareConnect.ConnectPerson = person;
Cursor.Current = DefaultCursor;
_personShareConnect.ShowDialog();
}
}
private void frmInitial_Shown(object sender, EventArgs e)
{
LoadCmbOwners();
}
private void LoadCmbOwners()
{
cmbOwners.Items.Clear();
var owners = _personRepository.GetAllOwners();
if (owners.Count() > 0)
{
foreach (var person in owners)
{
var itemIndex = cmbOwners.Items.Add(new ComboboxItem($"{person.FirstName} {person.LastName} ({person.NickName})", person.Id));
}
}
cmbOwners.Items.Add(new ComboboxItem($"< ny person> ", 0));
}
private void cmbOwners_SelectedIndexChanged(object sender, EventArgs e)
{
SelectedPersonId = ((ComboboxItem)cmbOwners.SelectedItem).HiddenValue;
}
private void btnBackupAll_Click(object sender, EventArgs e)
{
// backupWindow = new frmBackup(_backupRepository, _backupRoutines);
_backupWindow.ShowDialog();
}
}
}