public static OpenOrderBackendRequest ToBackendContract(this NewOrderClientContract src, string clientId) { return(new OpenOrderBackendRequest { ClientId = clientId, Order = src.ToBackendContract() }); }
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 }); }
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)); }
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()); }