public RequestResponse RefreshTableRequest(RefreshTableRequest request)
        {
            this.Validator.Validate(request);

            var fxReq = this.FxRequestFactory.createRefreshTableRequest(ConvertersInternal.GetTableType(request.Table));

            this.FxSession.sendRequest(fxReq);

            return(Helpers.GetRequestResponse(fxReq));
        }
        public void ValidateRefreshTableRequest()
        {
            // Null.
            {
                var v = new RequestProviderValidator();
                RefreshTableRequest r = null;

                AssertEx.Throws <ArgumentNullException>(() =>
                {
                    v.Validate(r);
                });
            }

            // Invalid tables.
            {
                foreach (var opt in new[] { TableType.Unknown, TableType.Summary })
                {
                    var v = new RequestProviderValidator();
                    RefreshTableRequest r = new RefreshTableRequest();
                    r.Table = opt;

                    AssertEx.Throws <ArgumentOutOfRangeException>(() =>
                    {
                        v.Validate(r);
                    });
                }
            }

            // Invalid order table.
            {
                var v = new RequestProviderValidator();
                RefreshTableRequest r = new RefreshTableRequest();
                r.Table = TableType.Orders;

                AssertEx.Throws <ArgumentException>(() =>
                {
                    v.Validate(r);
                });
            }

            // Valid.
            {
                foreach (var opt in new[] { TableType.Accounts, TableType.ClosedTrades, TableType.Messages,
                                            TableType.Offers, TableType.Trades })
                {
                    var v = new RequestProviderValidator();
                    RefreshTableRequest r = new RefreshTableRequest();
                    r.Table = opt;

                    v.Validate(r);
                }
            }
        }
        public void Validate(RefreshTableRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException("request");
            }

            if (request.Table == TableType.Orders)
            {
                throw new ArgumentException("Use RefreshTableByAccountRequest() to refresh Orders table.", "Table");
            }

            if (request.Table == TableType.Unknown || request.Table == TableType.Summary)
            {
                throw new ArgumentOutOfRangeException("Table");
            }
        }
Beispiel #4
0
 public RequestResponse RefreshTableRequest(RefreshTableRequest request)
 {
     throw new NotImplementedException();
 }