Add ROI to botPaginated
This commit is contained in:
@@ -170,7 +170,7 @@ public class PostgreSqlBotRepository : IBotRepository
|
||||
string? name = null,
|
||||
string? ticker = null,
|
||||
string? agentName = null,
|
||||
string sortBy = "CreateDate",
|
||||
BotSortableColumn sortBy = BotSortableColumn.CreateDate,
|
||||
string sortDirection = "Desc")
|
||||
{
|
||||
// Build the query with filters
|
||||
@@ -204,32 +204,35 @@ public class PostgreSqlBotRepository : IBotRepository
|
||||
var totalCount = await query.CountAsync().ConfigureAwait(false);
|
||||
|
||||
// Apply sorting
|
||||
query = sortBy.ToLower() switch
|
||||
query = sortBy switch
|
||||
{
|
||||
"name" => sortDirection.ToLower() == "asc"
|
||||
BotSortableColumn.Name => sortDirection.ToLower() == "asc"
|
||||
? query.OrderBy(b => b.Name)
|
||||
: query.OrderByDescending(b => b.Name),
|
||||
"ticker" => sortDirection.ToLower() == "asc"
|
||||
BotSortableColumn.Ticker => sortDirection.ToLower() == "asc"
|
||||
? query.OrderBy(b => b.Ticker)
|
||||
: query.OrderByDescending(b => b.Ticker),
|
||||
"status" => sortDirection.ToLower() == "asc"
|
||||
BotSortableColumn.Status => sortDirection.ToLower() == "asc"
|
||||
? query.OrderBy(b => b.Status)
|
||||
: query.OrderByDescending(b => b.Status),
|
||||
"startuptime" => sortDirection.ToLower() == "asc"
|
||||
BotSortableColumn.StartupTime => sortDirection.ToLower() == "asc"
|
||||
? query.OrderBy(b => b.StartupTime)
|
||||
: query.OrderByDescending(b => b.StartupTime),
|
||||
"pnl" => sortDirection.ToLower() == "asc"
|
||||
BotSortableColumn.Roi => sortDirection.ToLower() == "asc"
|
||||
? query.OrderBy(b => b.Roi)
|
||||
: query.OrderByDescending(b => b.Roi),
|
||||
BotSortableColumn.Pnl => sortDirection.ToLower() == "asc"
|
||||
? query.OrderBy(b => b.Pnl)
|
||||
: query.OrderByDescending(b => b.Pnl),
|
||||
"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.OrderByDescending(b => (b.TradeWins + b.TradeLosses) > 0 ? (double)b.TradeWins / (b.TradeWins + b.TradeLosses) : 0),
|
||||
"agentname" => sortDirection.ToLower() == "asc"
|
||||
BotSortableColumn.AgentName => sortDirection.ToLower() == "asc"
|
||||
? query.OrderBy(b => b.User.AgentName)
|
||||
: query.OrderByDescending(b => b.User.AgentName),
|
||||
_ => sortDirection.ToLower() == "asc"
|
||||
? query.OrderBy(b => b.CreateDate)
|
||||
: query.OrderByDescending(b => b.CreateDate) // Default to CreateDate
|
||||
: query.OrderByDescending(b => b.CreateDate)
|
||||
};
|
||||
|
||||
// Apply pagination
|
||||
|
||||
Reference in New Issue
Block a user