Show only owners shares

This commit is contained in:
2021-03-14 22:33:38 +01:00
parent a99115a031
commit 350ca62e67
2 changed files with 27 additions and 8 deletions

View File

@ -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();
}
} }

View File

@ -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();
} }