internal static string ToSerializedValue(this OrderStatusQuery value)
        {
            switch (value)
            {
            case OrderStatusQuery.All:
                return("All");

            case OrderStatusQuery.Open:
                return("Open");

            case OrderStatusQuery.InOrderBook:
                return("InOrderBook");

            case OrderStatusQuery.Processing:
                return("Processing");

            case OrderStatusQuery.Matched:
                return("Matched");

            case OrderStatusQuery.Cancelled:
                return("Cancelled");

            case OrderStatusQuery.Rejected:
                return("Rejected");

            case OrderStatusQuery.Replaced:
                return("Replaced");
            }
            return(null);
        }
Exemple #2
0
 public IResponse <List <LimitOrderStateModel> > GetOrders(OrderStatusQuery status, string skip, string take, string apiKey)
 {
     return(Request.Get("/Orders")
            .AddQueryParameterIfNotNull("status", status)
            .AddQueryParameterIfNotNull("skip", skip)
            .AddQueryParameterIfNotNull("take", take)
            .WithHeaders("api-key", apiKey)
            .Build().Execute <List <LimitOrderStateModel> >());
 }
        /// <summary>
        /// Description: Gets closed (filled and cancelled) orders for a given address.
        /// Query Window: Default query window is latest 7 days; The maximum start - end query window is 3 months.
        /// </summary>
        /// <returns></returns>
        public OrdersResponse GetOrdersClosed(string address, string symbol = "", OrderStatusQuery status = OrderStatusQuery.All, OrderSideQuery side = OrderSideQuery.All, int limit = 500,
                                              int offset = 0, bool totalRequired = false, long start = 0, long end = 0)
        {
            //Call specific settings
            string        urlPattern    = "{0}/orders/closed?address={1}";
            string        url           = string.Format(urlPattern, _env.HttpsApiAddress, address);
            StringBuilder sbQueyrFilter = new StringBuilder();

            if (end > 0)
            {
                sbQueyrFilter.AppendFormat("&end={0}", end);
            }
            if (limit != 500)
            {
                sbQueyrFilter.AppendFormat("&limit={0}", limit);
            }
            if (offset > 0)
            {
                sbQueyrFilter.AppendFormat("&offset={0}", offset);
            }
            if (start > 0)
            {
                sbQueyrFilter.AppendFormat("&start={0}", start);
            }
            if (status != OrderStatusQuery.All)
            {
                sbQueyrFilter.AppendFormat("&status={0}", status.ToString());
            }
            if (!string.IsNullOrWhiteSpace(symbol))
            {
                sbQueyrFilter.AppendFormat("&symbol={0}", symbol);
            }
            if (totalRequired)
            {
                sbQueyrFilter.Append("&total=1");
            }

            if (sbQueyrFilter.Length > 0)
            {
                url = string.Format("{0}{1}", url, sbQueyrFilter);
            }
            int callsPerSecondAllowed = 5;

            //Generic items for calls
            var response = GetStringResponse(url, urlPattern, callsPerSecondAllowed);

            //Call specific processing of returned values
            var ret = JsonConvert.DeserializeObject <OrdersResponse>(response);

            return(ret);
        }
 public async Task<OrderStatusQueryResult> Get(OrderStatusQuery query)
 {
     return await base.Get<OrderStatusQuery, OrderStatusQueryResult>(query);
 }
        public async Task <OrdersResponse> GetOrdersClosedAsync(string address, string symbol = "", OrderStatusQuery status = OrderStatusQuery.All, OrderSideQuery side = OrderSideQuery.All, int limit = 500,
                                                                int offset = 0, bool totalRequired = false, long start = 0, long end = 0)
        {
            var br = await Task <OrdersResponse> .Run(() =>
            {
                return(GetOrdersClosed(address, symbol, status, side, limit, offset, totalRequired, start, end));
            });

            return(br);
        }