public bool UpdateBet(AgentBet bet) { lock (_lockUpdateBet) { if ((bet.NewPrice >= CurrentPrice + MinimunPriceJump)) { if (BetHolder == null) { CurrentPrice = bet.NewPrice; BetHolder = bet.BettingAgent; return(true); } else { if (bet.BettingAgent.Name != BetHolder.Name) { CurrentPrice = bet.NewPrice; BetHolder = bet.BettingAgent; return(true); } } } return(false); } }
public void MakeBet(AgentBet bet) { lock (_lockMakeBet) { if (!auction.IsActive) { return; } else { if (auction.CurrentBet.UpdateBet(bet)) { _notifier.NotifyChange($"{bet.BettingAgent.Name} is now leading the auction over {auction.Item.Name} with price tag of {bet.NewPrice}$"); } } } }