public override async Task <LimitOrdersResponse> GetOrders(LimitOrdersRequest request, ServerCallContext context) { var session = SessionFromContext(context); var assetId = request.OptionalAssetPairIdCase == LimitOrdersRequest.OptionalAssetPairIdOneofCase.AssetPairId ? request.AssetPairId : string.Empty; var orders = await _clientWalletService.GetClientOrdersAsync(session.TenantId, session.ClientId, assetId); var response = new LimitOrdersResponse() { Result = new LimitOrdersResponse.Types.OrdersPayload() { Orders = { orders.Select(o => new LimitOrderModel() { Id = o.ExternalId, DateTime = Timestamp.FromDateTime(DateTime.SpecifyKind(o.CreatedAt, DateTimeKind.Utc)), Asset = string.Empty, Price = o.Price, Volume = o.Volume.Replace("-", ""), RemainingVolume = o.RemainingVolume, AssetPair = o.AssetPairId, RemainingOtherVolume = o.RemainingVolume, TotalCost = (decimal.Parse(o.Price) * decimal.Parse(o.Volume)).ToString(CultureInfo.InvariantCulture), OrderType = o.Side.ToString() }) } } }; return(response); }
public override async Task <LimitOrdersResponse> GetOrders(LimitOrdersRequest request, ServerCallContext context) { var token = context.GetBearerToken(); var response = await _walletApiV1Client.OffchainLimitListAsync(request.AssetPairId, token); var result = new LimitOrdersResponse(); if (response.Result != null) { result.Body = new LimitOrdersResponse.Types.Body(); result.Body.Orders.AddRange(_mapper.Map <List <LimitOrderModel> >(response.Result.Orders)); } if (response.Error != null) { result.Error = response.Error.ToApiError(); } return(result); }