/// <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)); } } }
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" ) }); }