public async Task <GrpcResponseWithData <GrpcList <AssetBalanceDto> > > GetBalancesAsync(SourceDto request) { var data = _externalBalanceCacheManager.GetBalances(request.Source); var result = data.Select(e => new AssetBalanceDto(e.Symbol, (double)e.Balance, (double)e.Free)).ToList(); return(GrpcResponseWithData <GrpcList <AssetBalanceDto> > .Create(GrpcList <AssetBalanceDto> .Create(result))); }
public async Task <GrpcResponseWithData <Dictionary <string, GrpcList <string> > > > GetSourcesAndSymbolsAsync() { var data = await _orderBookManager.GetSourcesAndSymbols(); var result = data.ToDictionary( e => e.Key, e => GrpcList <string> .Create(e.Value) ); return(GrpcResponseWithData <Dictionary <string, GrpcList <string> > > .Create(result)); }
public async Task <GrpcList <PortfolioTrade> > GetPositionTrades(GetPositionTradesRequest request) { await using var ctx = _contextFactory.Create(); var entities = await ctx.PositionAssociations .Include(e => e.Trade) .Where(e => e.PositionId == request.PositionId) .Select(e => e.Trade) .ToListAsync(); var data = entities.Select(e => e.AsPortfolioTrade()).ToList(); return(GrpcList <PortfolioTrade> .Create(data)); }
public async Task <GrpcList <PortfolioTrade> > GetTrades(GetTradesRequest request) { await using var ctx = _contextFactory.Create(); var entities = await ctx.PortfolioTrades .Where(e => e.DateTime < request.LastSeenDateTime) .OrderByDescending(e => e.DateTime) .Take(request.Take ?? 30) .ToListAsync(); var data = entities.Select(e => e.AsPortfolioTrade()).ToList(); return(GrpcList <PortfolioTrade> .Create(data)); }
public async Task <GrpcList <PositionPortfolio> > GetClosedPositions(GetClosedPositionsRequest request) { await using var ctx = _contextFactory.Create(); var entities = await ctx.Positions .Where(e => e.IsOpen == false && e.CloseTime < request.LastSeenDateTime) .OrderByDescending(e => e.CloseTime) .Take(request.Take ?? 30) .ToListAsync(); var data = entities.Select(e => e.AsPositionPortfolio()).ToList(); return(GrpcList <PositionPortfolio> .Create(data)); }
public Task <GrpcResponseWithData <GrpcList <LpWallet> > > GetAllAsync() { var data = _manager.GetAll(); return(GrpcResponseWithData <GrpcList <LpWallet> > .CreateTask(GrpcList <LpWallet> .Create(data))); }
public Task <GrpcResponseWithData <GrpcList <WalletBalance> > > GetBalancesAsync(WalletNameRequest request) { var balances = _manager.GetBalances(request.WalletName); return(GrpcResponseWithData <GrpcList <WalletBalance> > .CreateTask(GrpcList <WalletBalance> .Create(balances))); }
public async Task <GrpcList <PositionPortfolio> > GetPortfolioAsync() { var data = await _manager.GetPortfolioAsync(); return(GrpcList <PositionPortfolio> .Create(data)); }
public Task <GrpcResponseWithData <GrpcList <LpOrder> > > GetLiquidityProviderLastOrdersAsync(GetLiquidityProviderLastOrderRequest request) { var data = _aggregateLiquidityProviderOrders.GetCurrentOrders(request.BrokerId, request.Symbol); return(GrpcResponseWithData <GrpcList <LpOrder> > .CreateTask(GrpcList <LpOrder> .Create(data))); }
public Task <GrpcResponseWithData <GrpcList <string> > > GetSourcesAsync() { var data = _orderBookManager.GetSources(); return(GrpcResponseWithData <GrpcList <string> > .CreateTask(GrpcList <string> .Create(data.Result))); }
public async Task <GrpcResponseWithData <GrpcList <string> > > GetSourcesWithSymbolAsync(GetSourcesWithSymbolRequest request) { var data = await _orderBookManager.GetSourcesWithSymbol(request.Symbol); return(GrpcResponseWithData <GrpcList <string> > .Create(GrpcList <string> .Create(data))); }
public Task <GrpcList <ExternalMarketSettings> > GetExternalMarketSettingsList() { return(Task.FromResult(GrpcList <ExternalMarketSettings> .Create(_accessor.GetExternalMarketSettingsList()))); }
public async Task <GrpcResponseWithData <GrpcList <ExchangeMarketInfo> > > GetInstrumentsAsync(SourceDto request) { var data = _externalBalanceCacheManager.GetMarketInfo(request.Source); return(GrpcResponseWithData <GrpcList <ExchangeMarketInfo> > .Create(GrpcList <ExchangeMarketInfo> .Create(data))); }
public Task <GrpcResponseWithData <GrpcList <string> > > GetExternalMarketListAsync() { var data = _externalMarketManager.GetMarketNames(); return(GrpcResponseWithData <GrpcList <string> > .CreateTask(GrpcList <string> .Create(data))); }
public Task <GrpcList <LiquidityProviderInstrumentSettings> > GetLiquidityProviderInstrumentSettingsListAsync() { var data = _accessor.GetLiquidityProviderSettings(); return(Task.FromResult(GrpcList <LiquidityProviderInstrumentSettings> .Create(data))); }