예제 #1
0
        public void AcceptOffer()
        {
            Deal d = new Deal(this);

            Estate.CurrentDeal = d;
            Estate.ActiveOffers.Remove(this);
            Offerer.PromoteToDeal(this, d);
        }
예제 #2
0
 /// <summary>
 /// executes the trade if IsClosed flag indicates a closed trade, should only be called after buyer confirmation
 /// </summary>
 public void MakeTrade()
 {
     if (IsClosed == true)
     {
         TradeDate = DateTime.UtcNow;
         Buyer.AddCardToInventory(OfferCard);
         Offerer.AddCardToInventory(BuyerCard);
         Buyer.RemoveCardFromInventory(BuyerCard);
         Offerer.RemoveCardFromInventory(OfferCard);
     }
     else
     {
         throw new Exception("trade is not closed.");
     }
 }