Only show owners stock when selling
This commit is contained in:
@ -11,6 +11,7 @@ namespace StockDAL
|
|||||||
{
|
{
|
||||||
public class StockRepository : IStockRepository
|
public class StockRepository : IStockRepository
|
||||||
{
|
{
|
||||||
|
|
||||||
public void SaveStockMember(StockMember stockMember)
|
public void SaveStockMember(StockMember stockMember)
|
||||||
{
|
{
|
||||||
using (var context = new StockContext())
|
using (var context = new StockContext())
|
||||||
@ -25,7 +26,7 @@ namespace StockDAL
|
|||||||
entity.StockId = stockMember.StockId;
|
entity.StockId = stockMember.StockId;
|
||||||
entity.StockExtId = stockMember.StockExtId;
|
entity.StockExtId = stockMember.StockExtId;
|
||||||
entity.ActValue = stockMember.ActValue;
|
entity.ActValue = stockMember.ActValue;
|
||||||
entity.ActAmount= stockMember.ActAmount;
|
entity.ActAmount = stockMember.ActAmount;
|
||||||
entity.SoldDate = stockMember.SoldDate;
|
entity.SoldDate = stockMember.SoldDate;
|
||||||
entity.ActDate = stockMember.ActDate;
|
entity.ActDate = stockMember.ActDate;
|
||||||
entity.SoldStockPrice = stockMember.SoldStockPrice;
|
entity.SoldStockPrice = stockMember.SoldStockPrice;
|
||||||
@ -104,13 +105,19 @@ namespace StockDAL
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public IEnumerable<StockMember> GetAllRemainingStocks()
|
public IEnumerable<StockMember> GetAllRemainingStocks(int personId = 0)
|
||||||
{
|
{
|
||||||
using var context = new StockContext();
|
using var context = new StockContext();
|
||||||
var output = (from stk in context.Stocks
|
var output = personId == 0
|
||||||
|
? (from stk in context.Stocks
|
||||||
where stk.SoldDate == null || stk.ActAmount > 0
|
where stk.SoldDate == null || stk.ActAmount > 0
|
||||||
|
select stk).ToList()
|
||||||
|
: (from stk in context.Stocks
|
||||||
|
join prs in context.PersonStocks on stk.Id equals prs.StockId
|
||||||
|
where (stk.SoldDate == null || stk.ActAmount > 0) && prs.PersonId == personId
|
||||||
select stk).ToList();
|
select stk).ToList();
|
||||||
return output;
|
return output;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RemoveAllStocks()
|
public void RemoveAllStocks()
|
||||||
|
|||||||
@ -9,7 +9,8 @@ namespace StockDAL.Interface
|
|||||||
{
|
{
|
||||||
public interface IStockRepository
|
public interface IStockRepository
|
||||||
{
|
{
|
||||||
IEnumerable<StockMember> GetAllRemainingStocks();
|
// IEnumerable<StockMember> GetAllRemainingStocks();
|
||||||
|
IEnumerable<StockMember> GetAllRemainingStocks(int personId = 0);
|
||||||
IEnumerable<StockMember> GetAllStocks();
|
IEnumerable<StockMember> GetAllStocks();
|
||||||
StockMember GetStockMember(int stockMemberId);
|
StockMember GetStockMember(int stockMemberId);
|
||||||
void InsertMany(List<StockMember> stockMembers);
|
void InsertMany(List<StockMember> stockMembers);
|
||||||
|
|||||||
@ -90,7 +90,6 @@ namespace StockInfoCore
|
|||||||
if (upd)
|
if (upd)
|
||||||
{
|
{
|
||||||
_stockMarketRepository.LoadStockMarketList(SelectedPersonId);
|
_stockMarketRepository.LoadStockMarketList(SelectedPersonId);
|
||||||
|
|
||||||
allStocks.ToList().ForEach(SM => SM.ActValue = UpdateOnlyNonZeroAmount(SM).ActValue);
|
allStocks.ToList().ForEach(SM => SM.ActValue = UpdateOnlyNonZeroAmount(SM).ActValue);
|
||||||
}
|
}
|
||||||
dataGridView.DataSource = allStocks;
|
dataGridView.DataSource = allStocks;
|
||||||
@ -104,7 +103,10 @@ namespace StockInfoCore
|
|||||||
var output = new StockMember();
|
var output = new StockMember();
|
||||||
if (sMember.ActAmount > 0)
|
if (sMember.ActAmount > 0)
|
||||||
{
|
{
|
||||||
|
if (_stockMarketRepository.StockMarketList.ContainsKey(sMember.StockId)){
|
||||||
sMember.ActValue = _stockMarketRepository.StockMarketList[sMember.StockId].LatestPrice;
|
sMember.ActValue = _stockMarketRepository.StockMarketList[sMember.StockId].LatestPrice;
|
||||||
|
_stockRepository.UpdateActualPrice(sMember.Id, sMember.ActValue);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
output=sMember;
|
output=sMember;
|
||||||
return output;
|
return output;
|
||||||
@ -213,7 +215,16 @@ namespace StockInfoCore
|
|||||||
|
|
||||||
private void btnStockSale_Click(object sender, EventArgs e)
|
private void btnStockSale_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if (SelectedPersonId == 0)
|
||||||
|
{
|
||||||
|
MessageBox.Show($"Ingen person vald ({SelectedPersonId})");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_sellWindow.selectedPersonId = SelectedPersonId;
|
||||||
_sellWindow.ShowDialog();
|
_sellWindow.ShowDialog();
|
||||||
|
}
|
||||||
ReloadData();
|
ReloadData();
|
||||||
}
|
}
|
||||||
private void btnEditPerson_Click(object sender, EventArgs e)
|
private void btnEditPerson_Click(object sender, EventArgs e)
|
||||||
|
|||||||
@ -14,6 +14,7 @@ namespace StockInfoCore
|
|||||||
private readonly IStockRepository _stockRepository;
|
private readonly IStockRepository _stockRepository;
|
||||||
private List<StockMember> remainingStocks = new();
|
private List<StockMember> remainingStocks = new();
|
||||||
public StockMember stkMemSelected { get; set; } = null;
|
public StockMember stkMemSelected { get; set; } = null;
|
||||||
|
public int selectedPersonId { get; set; }
|
||||||
|
|
||||||
public frmSelling(IStockRepository stockRepository)
|
public frmSelling(IStockRepository stockRepository)
|
||||||
{
|
{
|
||||||
@ -31,7 +32,8 @@ namespace StockInfoCore
|
|||||||
|
|
||||||
private void ReloadRemainingStocks()
|
private void ReloadRemainingStocks()
|
||||||
{
|
{
|
||||||
remainingStocks = _stockRepository.GetAllRemainingStocks().ToList();
|
if (selectedPersonId == 0) return;
|
||||||
|
remainingStocks = _stockRepository.GetAllRemainingStocks(selectedPersonId).ToList();
|
||||||
foreach (var stock in remainingStocks)
|
foreach (var stock in remainingStocks)
|
||||||
{
|
{
|
||||||
var lvRow = lvSellCandidates.Items.Add(stock.StockId);
|
var lvRow = lvSellCandidates.Items.Add(stock.StockId);
|
||||||
|
|||||||
Reference in New Issue
Block a user