public async Task CreateMissedAsync(string userId) { string source = _quoteService.GetSources().FirstOrDefault(); IReadOnlyCollection <Balance> balances = await _balanceService.GetAsync(); foreach (Balance balance in balances) { if (balance.Amount <= 0) { continue; } Asset asset = _assetsReadModelRepository.TryGetIfEnabled(balance.AssetId); if (asset == null) { continue; } AssetPair assetPair = _assetPairsReadModelRepository.GetAllEnabled() .FirstOrDefault(o => o.BaseAssetId == asset.Id && o.QuotingAssetId == "USD"); if (assetPair == null) { continue; } IReadOnlyCollection <Instrument> instruments = await GetAllAsync(); Instrument instrument = instruments.FirstOrDefault(o => o.AssetPairId == assetPair.Id); if (instrument != null) { continue; } instrument = new Instrument { AssetPairId = assetPair.Id, QuoteSource = source, Markup = 0, Levels = 1, MinSpread = .2m, MaxSpread = .8m, Mode = InstrumentMode.Disabled, IsApproved = false }; await _instrumentRepository.InsertAsync(instrument); _cache.Set(instrument); } _log.InfoWithDetails("Missed instruments created", new { userId }); }
public async Task <IActionResult> GetAssetPairs() { var assetPairs = _assetPairsReadModel.GetAllEnabled(); return(Ok(assetPairs.Select(ToModel))); }