90 lines
3.0 KiB
C#
90 lines
3.0 KiB
C#
using DataDomain;
|
|
using StockBL.Interface;
|
|
using StockDAL.Interface;
|
|
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;
|
|
|
|
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(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();
|
|
}
|
|
}
|
|
}
|