public void AcceptOffer() { Deal d = new Deal(this); Estate.CurrentDeal = d; Estate.ActiveOffers.Remove(this); Offerer.PromoteToDeal(this, d); }
/// <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."); } }