예제 #1
0
파일: RpcFacade.cs 프로젝트: wildbunny/MT
        public async Task <MtClientResponse <bool> > ChangeOrderLimits(string clientId,
                                                                       ChangeOrderLimitsClientRequest request)
        {
            var backendRequest  = request.ToBackendContract(clientId);
            var backendResponse = await _httpRequestService.RequestWithRetriesAsync <MtBackendResponse <bool> >(backendRequest,
                                                                                                                "order.changeLimits",
                                                                                                                IsLiveAccount(backendRequest.AccountId));

            return(backendResponse.ToClientContract());
        }
예제 #2
0
 public static ChangeOrderLimitsBackendRequest ToBackendContract(this ChangeOrderLimitsClientRequest src, string clientId)
 {
     return(new ChangeOrderLimitsBackendRequest
     {
         ClientId = clientId,
         AccountId = src.AccountId,
         OrderId = src.OrderId,
         ExpectedOpenPrice = src.ExpectedOpenPrice,
         TakeProfit = src.TakeProfit,
         StopLoss = src.StopLoss
     });
 }
예제 #3
0
        public async Task <ResponseModel <bool> > ChangeOrderLimits([FromBody] ChangeOrderLimitsClientRequest request)
        {
            var clientId = this.GetClientId();

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

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

            if (result.IsError() || !result.Result)
            {
                return(ResponseModel <bool> .CreateFail(ResponseModel.ErrorCodeType.InconsistentData,
                                                        result.Message));
            }

            return(ResponseModel <bool> .CreateOk(result.Result));
        }