public TradeOffer PlaceTradeOffer(Vereniging v, int ticketsamount) { if (TradeOffers.Any(t => t.Owner.GroepId == v.GroepId)) { throw new ArgumentException("Deze vereniging heeft reeds een ticket aanbieding aangemaakt"); } if (ticketsamount > GetAmountTotalTicketsByVereniging(v)) { throw new ArgumentException($"Deze vereniging heeft niet genoeg tickets om {ticketsamount} tickets aan te bieden"); } TradeOffer offer = new TradeOffer(v, ticketsamount); TradeOffers.Add(offer); return(offer); }
public void CloseTrade(int offerId, int responseId, bool keepSelling) { TradeOffer offer = TradeOffers.SingleOrDefault(o => o.Id == offerId); if (offer == null) { throw new ArgumentException("Cannot close a trade offer that does not exist"); } var closingAnswer = offer.CloseTrade(responseId, keepSelling); TradeOffers.Remove(offer); //add new tradeoffer to the list when the vereniging wants to keep selling if (keepSelling) { TradeOffers.Add(closingAnswer.Item2); } Trades.Add(closingAnswer.Item1); }