fix: filter unmapped trades from UI display

This commit is contained in:
Richard
2026-07-05 15:01:54 +02:00
parent d533374ced
commit 8f6bce23f3
@@ -14,7 +14,7 @@ public class TradeRepository : ITradeRepository
=> await _db.Trades.FirstOrDefaultAsync(t => t.Platform == platform && t.PlatformTradeId == platformTradeId, ct); => await _db.Trades.FirstOrDefaultAsync(t => t.Platform == platform && t.PlatformTradeId == platformTradeId, ct);
public async Task<IReadOnlyList<Trade>> GetByTraderIdAsync(int traderId, int skip = 0, int take = 50, CancellationToken ct = default) public async Task<IReadOnlyList<Trade>> GetByTraderIdAsync(int traderId, int skip = 0, int take = 50, CancellationToken ct = default)
=> await _db.Trades.Include(t => t.Trader).Include(t => t.DbMarket).Where(t => t.TraderId == traderId) => await _db.Trades.Include(t => t.Trader).Include(t => t.DbMarket).Where(t => t.TraderId == traderId && t.DbMarketId != null)
.OrderByDescending(t => t.ExecutedAt).Skip(skip).Take(take).ToListAsync(ct); .OrderByDescending(t => t.ExecutedAt).Skip(skip).Take(take).ToListAsync(ct);
public async Task<IReadOnlyList<Trade>> GetByDbMarketIdAsync(int dbMarketId, int skip = 0, int take = 50, CancellationToken ct = default) public async Task<IReadOnlyList<Trade>> GetByDbMarketIdAsync(int dbMarketId, int skip = 0, int take = 50, CancellationToken ct = default)
@@ -22,19 +22,19 @@ public class TradeRepository : ITradeRepository
.OrderByDescending(t => t.ExecutedAt).Skip(skip).Take(take).ToListAsync(ct); .OrderByDescending(t => t.ExecutedAt).Skip(skip).Take(take).ToListAsync(ct);
public async Task<IReadOnlyList<Trade>> GetByMarketIdAsync(string platformMarketId, int skip = 0, int take = 50, CancellationToken ct = default) public async Task<IReadOnlyList<Trade>> GetByMarketIdAsync(string platformMarketId, int skip = 0, int take = 50, CancellationToken ct = default)
=> await _db.Trades.Include(t => t.Trader).Include(t => t.DbMarket).Where(t => t.MarketId == platformMarketId) => await _db.Trades.Include(t => t.Trader).Include(t => t.DbMarket).Where(t => t.MarketId == platformMarketId && t.DbMarketId != null)
.OrderByDescending(t => t.ExecutedAt).Skip(skip).Take(take).ToListAsync(ct); .OrderByDescending(t => t.ExecutedAt).Skip(skip).Take(take).ToListAsync(ct);
public async Task<IReadOnlyList<Trade>> GetRecentAsync(int count = 50, PlatformType? platform = null, CancellationToken ct = default) public async Task<IReadOnlyList<Trade>> GetRecentAsync(int count = 50, PlatformType? platform = null, CancellationToken ct = default)
{ {
var q = _db.Trades.Include(t => t.Trader).Include(t => t.DbMarket).AsQueryable(); var q = _db.Trades.Include(t => t.Trader).Include(t => t.DbMarket).Where(t => t.DbMarketId != null).AsQueryable();
if (platform.HasValue) q = q.Where(t => t.Platform == platform.Value); if (platform.HasValue) q = q.Where(t => t.Platform == platform.Value);
return await q.OrderByDescending(t => t.ExecutedAt).Take(count).ToListAsync(ct); return await q.OrderByDescending(t => t.ExecutedAt).Take(count).ToListAsync(ct);
} }
public async Task<IReadOnlyList<Trade>> GetLargestAsync(int count = 5, DateTime? since = null, CancellationToken ct = default) public async Task<IReadOnlyList<Trade>> GetLargestAsync(int count = 5, DateTime? since = null, CancellationToken ct = default)
{ {
var q = _db.Trades.Include(t => t.Trader).Include(t => t.DbMarket).AsQueryable(); var q = _db.Trades.Include(t => t.Trader).Include(t => t.DbMarket).Where(t => t.DbMarketId != null).AsQueryable();
if (since.HasValue) q = q.Where(t => t.ExecutedAt >= since.Value); if (since.HasValue) q = q.Where(t => t.ExecutedAt >= since.Value);
return await q.OrderByDescending(t => t.Amount).Take(count).ToListAsync(ct); return await q.OrderByDescending(t => t.Amount).Take(count).ToListAsync(ct);
} }