Include master bot for all query on Botentity

This commit is contained in:
2025-11-20 14:52:55 +07:00
parent 190a9cf12d
commit 55f70add44

View File

@@ -43,6 +43,7 @@ public class PostgreSqlBotRepository : IBotRepository
var entities = await _context.Bots var entities = await _context.Bots
.AsNoTracking() .AsNoTracking()
.Include(m => m.User) .Include(m => m.User)
.Include(m => m.MasterBotUser)
.ToListAsync() .ToListAsync()
.ConfigureAwait(false); .ConfigureAwait(false);
@@ -105,6 +106,7 @@ public class PostgreSqlBotRepository : IBotRepository
var entity = await _context.Bots var entity = await _context.Bots
.AsNoTracking() .AsNoTracking()
.Include(m => m.User) .Include(m => m.User)
.Include(m => m.MasterBotUser)
.FirstOrDefaultAsync(b => b.Identifier == identifier) .FirstOrDefaultAsync(b => b.Identifier == identifier)
.ConfigureAwait(false); .ConfigureAwait(false);
return PostgreSqlMappers.Map(entity); return PostgreSqlMappers.Map(entity);
@@ -142,6 +144,7 @@ public class PostgreSqlBotRepository : IBotRepository
var entities = await _context.Bots var entities = await _context.Bots
.AsNoTracking() .AsNoTracking()
.Include(m => m.User) .Include(m => m.User)
.Include(m => m.MasterBotUser)
.Where(b => b.Status == status) .Where(b => b.Status == status)
.ToListAsync() .ToListAsync()
.ConfigureAwait(false); .ConfigureAwait(false);
@@ -153,6 +156,7 @@ public class PostgreSqlBotRepository : IBotRepository
var entity = await _context.Bots var entity = await _context.Bots
.AsNoTracking() .AsNoTracking()
.Include(m => m.User) .Include(m => m.User)
.Include(m => m.MasterBotUser)
.FirstOrDefaultAsync(b => b.Name == name) .FirstOrDefaultAsync(b => b.Name == name)
.ConfigureAwait(false); .ConfigureAwait(false);
return PostgreSqlMappers.Map(entity); return PostgreSqlMappers.Map(entity);
@@ -167,6 +171,7 @@ public class PostgreSqlBotRepository : IBotRepository
var entities = await _context.Bots var entities = await _context.Bots
.AsNoTracking() .AsNoTracking()
.Include(m => m.User) .Include(m => m.User)
.Include(m => m.MasterBotUser)
.Where(b => identifiers.Contains(b.Identifier)) .Where(b => identifiers.Contains(b.Identifier))
.ToListAsync() .ToListAsync()
.ConfigureAwait(false); .ConfigureAwait(false);
@@ -243,8 +248,10 @@ public class PostgreSqlBotRepository : IBotRepository
? query.OrderBy(b => b.Pnl) ? query.OrderBy(b => b.Pnl)
: query.OrderByDescending(b => b.Pnl), : query.OrderByDescending(b => b.Pnl),
BotSortableColumn.WinRate => sortDirection.ToLower() == "asc" BotSortableColumn.WinRate => sortDirection.ToLower() == "asc"
? query.OrderBy(b => (b.TradeWins + b.TradeLosses) > 0 ? (double)b.TradeWins / (b.TradeWins + b.TradeLosses) : 0) ? query.OrderBy(b =>
: query.OrderByDescending(b => (b.TradeWins + b.TradeLosses) > 0 ? (double)b.TradeWins / (b.TradeWins + b.TradeLosses) : 0), (b.TradeWins + b.TradeLosses) > 0 ? (double)b.TradeWins / (b.TradeWins + b.TradeLosses) : 0)
: query.OrderByDescending(b =>
(b.TradeWins + b.TradeLosses) > 0 ? (double)b.TradeWins / (b.TradeWins + b.TradeLosses) : 0),
BotSortableColumn.AgentName => sortDirection.ToLower() == "asc" BotSortableColumn.AgentName => sortDirection.ToLower() == "asc"
? query.OrderBy(b => b.User.AgentName) ? query.OrderBy(b => b.User.AgentName)
: query.OrderByDescending(b => b.User.AgentName), : query.OrderByDescending(b => b.User.AgentName),
@@ -270,6 +277,7 @@ public class PostgreSqlBotRepository : IBotRepository
var entities = await _context.Bots var entities = await _context.Bots
.AsNoTracking() .AsNoTracking()
.Include(m => m.User) .Include(m => m.User)
.Include(m => m.MasterBotUser)
.Where(b => statuses.Contains(b.Status)) .Where(b => statuses.Contains(b.Status))
.OrderByDescending(b => b.Pnl) .OrderByDescending(b => b.Pnl)
.Take(count) .Take(count)
@@ -284,6 +292,7 @@ public class PostgreSqlBotRepository : IBotRepository
var entities = await _context.Bots var entities = await _context.Bots
.AsNoTracking() .AsNoTracking()
.Include(m => m.User) .Include(m => m.User)
.Include(m => m.MasterBotUser)
.Where(b => statuses.Contains(b.Status)) .Where(b => statuses.Contains(b.Status))
.OrderByDescending(b => b.Roi) .OrderByDescending(b => b.Roi)
.Take(count) .Take(count)