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