Exemple #1
0
 public static OpenOrderBackendRequest ToBackendContract(this NewOrderClientContract src, string clientId)
 {
     return(new OpenOrderBackendRequest
     {
         ClientId = clientId,
         Order = src.ToBackendContract()
     });
 }
Exemple #2
0
 public static NewOrderBackendContract ToBackendContract(this NewOrderClientContract src)
 {
     return(new NewOrderBackendContract
     {
         AccountId = src.AccountId,
         Instrument = src.Instrument,
         ExpectedOpenPrice = src.ExpectedOpenPrice,
         Volume = src.Volume.Value,
         TakeProfit = src.TakeProfit,
         StopLoss = src.StopLoss,
         FillType = src.FillType
     });
 }
Exemple #3
0
        public async Task <ResponseModel <OrderClientContract> > PlaceOrder([FromBody] NewOrderClientContract request)
        {
            var clientId = this.GetClientId();

            if (clientId == null)
            {
                return(this.UserNotFoundError <OrderClientContract>());
            }

            var result = await _rpcFacade.PlaceOrder(clientId, request);

            if (result.IsError())
            {
                return(ResponseModel <OrderClientContract> .CreateFail(ResponseModel.ErrorCodeType.InconsistentData,
                                                                       result.Message));
            }

            return(ResponseModel <OrderClientContract> .CreateOk(result.Result));
        }
Exemple #4
0
        public async Task <MtClientResponse <OrderClientContract> > PlaceOrder(string clientId, NewOrderClientContract request)
        {
            var backendRequest  = request.ToBackendContract(clientId);
            var backendResponse = await _httpRequestService.RequestWithRetriesAsync <OpenOrderBackendResponse>(backendRequest, "order.place",
                                                                                                               IsLiveAccount(backendRequest.Order.AccountId));

            return(backendResponse.ToClientContract());
        }