Show only owners shares
This commit is contained in:
@ -110,12 +110,21 @@ namespace StockInfo
|
|||||||
|
|
||||||
private void btnValueView_Click(object sender, EventArgs e)
|
private void btnValueView_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Cursor.Current = Cursors.WaitCursor;
|
if (SelectedPersonId == 0)
|
||||||
_stockMarketRepository.LoadStockMarketList();
|
{
|
||||||
stockWindow = new frmMyStocks(_stockRepository, _stockMarketRepository);
|
MessageBox.Show($"Ingen person vald ({SelectedPersonId})");
|
||||||
stockWindow.Stocks = _stockMarketRepository.StockMarketList;
|
}
|
||||||
Cursor.Current = DefaultCursor;
|
else
|
||||||
stockWindow.ShowDialog();
|
{
|
||||||
|
var person = _personRepository.GetPersonById(SelectedPersonId);
|
||||||
|
Cursor.Current = Cursors.WaitCursor;
|
||||||
|
_stockMarketRepository.LoadStockMarketList();
|
||||||
|
stockWindow = new frmMyStocks(_stockRepository, _stockMarketRepository, _stockPersonConnect);
|
||||||
|
stockWindow.ConnectedPerson = person;
|
||||||
|
stockWindow.Stocks = _stockMarketRepository.StockMarketList;
|
||||||
|
Cursor.Current = DefaultCursor;
|
||||||
|
stockWindow.ShowDialog();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -18,6 +18,8 @@ namespace StockInfo
|
|||||||
Color hdrColor;
|
Color hdrColor;
|
||||||
private readonly IStockRepository _stockRepository;
|
private readonly IStockRepository _stockRepository;
|
||||||
private readonly IStockMarketRepository _stockMarketRepository;
|
private readonly IStockMarketRepository _stockMarketRepository;
|
||||||
|
private readonly IStockPersonConnect _stockPersonConnect;
|
||||||
|
|
||||||
public decimal BoughtSum { get; set; }
|
public decimal BoughtSum { get; set; }
|
||||||
public decimal TotalDiff { get; set; }
|
public decimal TotalDiff { get; set; }
|
||||||
public decimal CurrentSum { get; set; }
|
public decimal CurrentSum { get; set; }
|
||||||
@ -26,13 +28,15 @@ namespace StockInfo
|
|||||||
|
|
||||||
public Dictionary<string, DiTraderStockRow> Stocks { get; set; }
|
public Dictionary<string, DiTraderStockRow> Stocks { get; set; }
|
||||||
public IEnumerable<StockMember> CurrentStocks { get; set; }
|
public IEnumerable<StockMember> CurrentStocks { get; set; }
|
||||||
|
public Person ConnectedPerson { get; set; }
|
||||||
|
|
||||||
public frmMyStocks(IStockRepository stockRepository, IStockMarketRepository stockMarketRepository)
|
public frmMyStocks(IStockRepository stockRepository, IStockMarketRepository stockMarketRepository,IStockPersonConnect stockPersonConnect)
|
||||||
{
|
{
|
||||||
hdrColor = Color.CadetBlue;
|
hdrColor = Color.CadetBlue;
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
_stockRepository = stockRepository;
|
_stockRepository = stockRepository;
|
||||||
_stockMarketRepository = stockMarketRepository;
|
_stockMarketRepository = stockMarketRepository;
|
||||||
|
_stockPersonConnect = stockPersonConnect;
|
||||||
numericUpDown1.Value = timer1.Interval / 60000;
|
numericUpDown1.Value = timer1.Interval / 60000;
|
||||||
numericUpDown1.Enabled = false;
|
numericUpDown1.Enabled = false;
|
||||||
}
|
}
|
||||||
@ -48,6 +52,8 @@ namespace StockInfo
|
|||||||
TotalMinus = 0m;
|
TotalMinus = 0m;
|
||||||
TotalPlus = 0m;
|
TotalPlus = 0m;
|
||||||
var tmpStocks = new List<StockMember>();
|
var tmpStocks = new List<StockMember>();
|
||||||
|
var personStocks = new List<StockMember>();
|
||||||
|
//Update all handled shares
|
||||||
foreach (var stock in CurrentStocks)
|
foreach (var stock in CurrentStocks)
|
||||||
{
|
{
|
||||||
stock.ActValue = Stocks[stock.StockId.Trim()].LatestPrice;
|
stock.ActValue = Stocks[stock.StockId.Trim()].LatestPrice;
|
||||||
@ -55,7 +61,10 @@ namespace StockInfo
|
|||||||
_stockRepository.UpdateActualPrice(stock.Id, stock.ActValue);
|
_stockRepository.UpdateActualPrice(stock.Id, stock.ActValue);
|
||||||
tmpStocks.Add(stock);
|
tmpStocks.Add(stock);
|
||||||
}
|
}
|
||||||
foreach(var stk in tmpStocks.OrderByDescending(s => s.ActAmount * (s.ActValue -s.BuyValue)))
|
//Use only Stocks belonging to person
|
||||||
|
var connects =_stockPersonConnect.GetAllConnectionsByPersId(ConnectedPerson.Id);
|
||||||
|
personStocks.AddRange(tmpStocks.Where(ts => connects.Any(c => c.StockId == ts.Id)).ToList());
|
||||||
|
foreach(var stk in personStocks.OrderByDescending(s => s.ActAmount * (s.ActValue -s.BuyValue)))
|
||||||
{
|
{
|
||||||
AddItemToListView(stk);
|
AddItemToListView(stk);
|
||||||
}
|
}
|
||||||
@ -144,6 +153,7 @@ namespace StockInfo
|
|||||||
|
|
||||||
private void frmMyStocks_Shown(object sender, EventArgs e)
|
private void frmMyStocks_Shown(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
this.Text = $"{ConnectedPerson.Id} - {ConnectedPerson.FirstName} {ConnectedPerson.LastName}'s Shares";
|
||||||
ReloadData();
|
ReloadData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user