コード例 #1
0
        /// <summary>
        /// Get a list of Orders for an Account
        /// </summary>
        /// <param name="orderIDs">List of Order IDs to retrieve.</param>
        /// <param name="orderStateFilter">The state to filter the requested Orders by [default=PENDING].</param>
        /// <param name="instrument">The instrument to filter the requested orders by.</param>
        /// <param name="count">The maximum number of Orders to return [default=50, maximum=500].</param>
        /// <param name="beforeID">The maximum Order ID to return. If not provided the most recent Orders in the Account are returned.</param>
        /// <returns></returns>
        public async Task <List <Order> > GetOrders
        (
            InstrumentName instrument,
            List <OrderID> orderIDs,
            OrderStateFilter orderStateFilter,
            int count        = 50,
            OrderID beforeID = null
        )
        {
            #region queryNVC
            NameValueCollection queryNVC = new NameValueCollection()
            {
                { "state", ((EOrderStateFilter)orderStateFilter).ToString() },
                { "count", count.ToString() }
            };
            if (orderIDs != null)
            {
                queryNVC.Add("ids", string.Join(",", orderIDs));
            }
            if (instrument != null)
            {
                queryNVC.Add("instrument", instrument.ToString());
            }
            if (beforeID != null)
            {
                queryNVC.Add("beforeID", beforeID);
            }
            #endregion

            string path  = string.Format("accounts/{0}/orders", AccountID);
            string query = QueryFromNVC(queryNVC);

            using (HttpResponseMessage response = await RequestAsync(EHostAPIType.REST, HttpMethod.Get, path, query))
            {
                if (response.StatusCode != HttpStatusCode.OK)
                {
                    throw new HttpRequestException(JObject.Parse(await response.Content.ReadAsStringAsync())["errorMessage"].ToString());
                }

                using (Stream stream = await response.Content.ReadAsStreamAsync())
                {
                    string jsonString = JObject.Parse(await new StreamReader(stream).ReadToEndAsync())["orders"].ToString();
                    return(JsonConvert.DeserializeObject <List <Order> >(jsonString, ErrorHandlingSetting));
                }
            }
        }
コード例 #2
0
        public IndexViewModel Create(HttpContext httpContext, OrderStateFilter filter, IEnumerable <OrderState> orderStates, string orderBy, int skip, int take, int total)
        {
            IStringLocalizer <IndexViewModelFactory> localizer = httpContext.GetStringLocalizer <IndexViewModelFactory>();

            return(new IndexViewModel()
            {
                Grid = new GridViewModelFactory().Create(
                    httpContext,
                    new FilterViewModelFactory().Create(httpContext, "Name.Value.Contains", localizer["Name"]),
                    orderBy, skip, take, total,
                    new[] {
                    new GridColumnViewModelFactory().Create(localizer["Name"], httpContext.CreateLocalizedOrderBy("Name")),
                    new GridColumnViewModelFactory().Create(localizer["Position"], "Position"),
                    new GridColumnViewModelFactory().CreateEmpty()
                },
                    orderStates.Select(os => new OrderStateViewModelFactory().Create(os)),
                    "_OrderState"
                    )
            });
        }