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