Example #1
0
        public override Task <AmountInBaseAssetResponse> GetAmountInBaseAsset(AmountInBaseRequest request, ServerCallContext context)
        {
            var result = new AmountInBaseAssetResponse()
            {
                Values =
                {
                    new AmountInBaseAssetResponse.Types.AmountInBasePayload()
                    {
                        AssetId      = "USD",
                        AmountInBase = "0"
                    }
                }
            };

            return(Task.FromResult(result));
        }
Example #2
0
        public override async Task <AmountInBaseAssetResponse> GetAmountInBaseAsset(AmountInBaseRequest request, ServerCallContext context)
        {
            var assets = await _assetsHelper.GetAllAssetsAsync(false);

            var result = new AmountInBaseAssetResponse();

            var records = assets.Where(x => x.Id != request.AssetId)
                          .Select(x => new Lykke.Service.RateCalculator.Client.AutorestClient.Models.BalanceRecord(1, x.Id))
                          .ToList();

            var valuesInBase = await _rateCalculatorClient.FillBaseAssetDataAsync(records, request.AssetId);

            result.Body = new AmountInBaseAssetResponse.Types.Body();
            result.Body.Values.AddRange(valuesInBase.Where(x => x.AmountInBase.HasValue && x.AmountInBase.Value > 0).Select(x => new AmountInBaseAssetResponse.Types.AmountInBasePayload {
                AssetId = x.AssetId, AmountInBase = x.AmountInBase.Value.ToString(CultureInfo.InvariantCulture)
            }));

            return(result);
        }