Shares can be handled by owners

This commit is contained in:
2021-03-13 17:06:01 +01:00
parent b25c6fd538
commit a99115a031
12 changed files with 213 additions and 49 deletions

View File

@ -1,4 +1,6 @@
using DataDomain;
using StockBL.Interface;
using StockDAL.Interface;
using System;
using System.Collections.Generic;
using System.ComponentModel;
@ -13,16 +15,75 @@ namespace StockInfo
{
public partial class frmPersonShareConnect : Form
{
private readonly IPersonStockFacade _personStockFacade;
private readonly IStockPersonConnect _stockPersonConnect;
private readonly IStockRepository _stockRepository;
public Person ConnectPerson { get; set; }
public frmPersonShareConnect()
public frmPersonShareConnect(IPersonStockFacade personStockFacade, IStockPersonConnect stockPersonConnect,IStockRepository stockRepository)
{
InitializeComponent();
_personStockFacade = personStockFacade;
_stockPersonConnect = stockPersonConnect;
_stockRepository = stockRepository;
}
private void frmPersonShareConnect_Shown(object sender, EventArgs e)
{
this.Text = $"{ConnectPerson.Id} - {ConnectPerson.FirstName} {ConnectPerson.LastName}'s Shares";
this.lblShareHolder.Text = $"{ConnectPerson.FirstName} {ConnectPerson.LastName}'s Shares";
RefreshShareList();
RefreshConnectedList();
}
private void RefreshShareList()
{
var dataSource = _personStockFacade.GetUnconnectedShares();
lstShares.DataSource = dataSource;
lstShares.DisplayMember = "StockId";
lstShares.ValueMember = "Id";
lstShares.Refresh();
}
private void RefreshConnectedList()
{
var dataSource = _personStockFacade.GetAllSharesConnectedTo(ConnectPerson.Id);
lstPersConnected.DataSource = dataSource;
lstPersConnected.DisplayMember = "StockId";
lstPersConnected.ValueMember = "Id";
lstPersConnected.Refresh();
}
private void btnConnect_Click(object sender, EventArgs e)
{
if (lstShares.SelectedIndex != -1)
{
PersonStock ps = new PersonStock();
ps.PersonId = ConnectPerson.Id;
ps.StockId = int.Parse(lstShares.SelectedValue.ToString());
_stockPersonConnect.SavePersonStockConnection(ps);
RefreshShareList();
RefreshConnectedList();
}
}
private void btnDisconnect_Click(object sender, EventArgs e)
{
if (lstPersConnected.SelectedIndex != -1)
{
PersonStock ps = new PersonStock();
ps.PersonId = ConnectPerson.Id;
ps.StockId = int.Parse(lstPersConnected.SelectedValue.ToString());
_stockPersonConnect.RemoveConnectedShare(ps);
RefreshShareList();
RefreshConnectedList();
}
}
private void btnClose_Click(object sender, EventArgs e)
{
this.Close();
}
}
}