Пример #1
0
 internal TradeRequest(IStore store, TradeRequestType type, Good good, float amount, float price)
 {
     _store = store;
     Type = type;
     Good = good;
     Amount = amount;
     Price = price;
 }
Пример #2
0
 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();
 }
Пример #4
0
 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();
 }
Пример #5
0
 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;
 }
Пример #6
0
        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);
        }
Пример #7
0
 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;
 }
Пример #9
0
 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();
 }
Пример #10
0
 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);
 }
Пример #11
0
 public abstract void OnTradeRequestFinish(TradeRequestType type, Good good, float amount, float price, float soldAmount, float soldTotalPrice);