private void OnPreviewOrderRequest(PreviewOrderRequest request) { PreviewOrderPopup popup = new PreviewOrderPopup(request); popup.Show(); }
/// <summary> /// The Preview Order API is used to submit an order request for preview before placing it. /// https://apisb.etrade.com/docs/api/order/api-order-v1.html#/definition/orderPreview /// </summary> /// <param name="accountIdKey">The unique account key</param> /// <returns>a PostOrderResponse object</returns> public async Task <PreviewOrderResponse> PreviewOrderAsync(string accountIdKey, PreviewOrderRequest request) { string uri = ServerUri(EServer.Accounts) + $"{accountIdKey}/orders/preview"; //var order = new Dictionary<string, PlaceOrderRequest> { { "order", request } }; string body = ConvertToJSON(request); var response = await MakeRequestWithJSONBody <PreviewOrderResponse, PreviewOrderErrorResponse>("POST", body, uri); return(response); }
private void GetOrderEstimateCallback(object sender, GetOrderEstimateCompletedEventArgs e) { if (e.Error != null) { _statusBar.ShowMessage(e.Error.Message, Category.Exception, Priority.High); } else if (e.Result.Compliance != OrderCompliance.Compliant) { _statusBar.ShowMessage(e.Result.Compliance.ToString(), Category.Exception, Priority.High); } else { _statusBar.Clear(); // Send PreviewOrderRequestEvent to create the PreviewOrder dialog PreviewOrderRequest request = new PreviewOrderRequest { UserContext = UserContext, OrderParams = assembleOrderParams(), LastTrade = LastTrade, OrderEstimate = e.Result, ResponseHandler = PreviewOrderResponseHandler }; _eventAggregator.GetEvent<PreviewOrderRequestEvent>().Publish(request); } }