private void OnPreviewOrderRequest(PreviewOrderRequest request)
 {
     PreviewOrderPopup popup = new PreviewOrderPopup(request);
     popup.Show();
 }
示例#2
0
        /// <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);
        }
示例#3
0
        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);
            }
        }