internal TradeRequest(IStore store, TradeRequestType type, Good good, float amount, float price) { _store = store; Type = type; Good = good; Amount = amount; Price = price; }
public TradeRequest CreateTradeRequest(TradeRequestType type, Good good, float amount, float price) { Contract.Requires<ArgumentNullException>(good != null); Contract.Requires<ArgumentOutOfRangeException>(amount > 0); Contract.Requires<ArgumentOutOfRangeException>(price >= 0); Contract.Requires<InvalidOperationException>(type == TradeRequestType.Buy || this[good].Amount >= amount); Contract.Ensures(Contract.Result<TradeRequest>() != null); throw new NotImplementedException(); }
public void CreateTradeRequest(TradeRequestType type, Good good, float amount, float price) { Contract.Requires<InvalidOperationException>(Active); Contract.Requires<ArgumentNullException>(good != null); Contract.Requires<ArgumentOutOfRangeException>(amount > 0); Contract.Requires<ArgumentOutOfRangeException>(price >= 0); Contract.Requires<InvalidOperationException>(type == TradeRequestType.Buy || Store[good].Amount >= amount); throw new NotImplementedException(); }
public void OnTradeRequestFinish(TradeRequestType type, Good good, float amount, float price, float soldAmount, float soldTotalPrice) { Contract.Requires<ArgumentNullException>(good != null); Contract.Requires<ArgumentOutOfRangeException>(amount >= 0); Contract.Requires<ArgumentOutOfRangeException>(price >= 0); Contract.Requires<ArgumentOutOfRangeException>(soldAmount >= 0); Contract.Requires<ArgumentOutOfRangeException>(soldTotalPrice >= 0); throw new NotImplementedException(); }
public TradeRequest CreateTradeRequest(TradeRequestType type, Good good, float amount, float price) { var request = new TradeRequest(this, type, good, amount, price); if (type == TradeRequestType.Sell) { Add(good, -amount); } else { Money -= amount * price; } return request; }
private Stack<TradeRequest> CreateRequestsStack(IEnumerable<TradeRequest> requests, TradeRequestType type) { Contract.Requires(requests != null); requests = requests.Where(r => r.Type == type); switch (type) { case TradeRequestType.Buy: requests = requests.OrderBy(r => r.Price); break; case TradeRequestType.Sell: requests = requests.OrderByDescending(r => r.Price); break; default: throw new ArgumentOutOfRangeException(nameof(type)); } requests = ((IOrderedEnumerable<TradeRequest>)requests).ThenBy(r => _randomProvider.Next()); return new Stack<TradeRequest>(requests); }
public void set(TradeRequestType field) { // 569 SetField(field); }
public FailedTradingHistoryEntry(Good good, float amount, TradeRequestType type, float price, int time) : base(good, amount, time) { Type = type; Price = price; }
public override void OnTradeRequestFinish(TradeRequestType type, Good good, float amount, float price, float soldAmount, float soldTotalPrice) { Contract.Requires(MarketTraderProxy != null && MarketTraderProxy.Active); throw new System.NotImplementedException(); }
public void CreateTradeRequest(TradeRequestType type, Good good, float amount, float price) { var request = _container.Store.CreateTradeRequest(type, good, amount, price); _container.Economy.Market.RegisterTradeRequest(request); }
public abstract void OnTradeRequestFinish(TradeRequestType type, Good good, float amount, float price, float soldAmount, float soldTotalPrice);