Add filters and sorting for backtests
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
using Managing.Domain.Backtests;
|
||||
using Managing.Application.Abstractions.Shared;
|
||||
using Managing.Common;
|
||||
using Managing.Domain.Backtests;
|
||||
using Managing.Domain.Users;
|
||||
|
||||
namespace Managing.Application.Abstractions.Repositories;
|
||||
@@ -18,11 +20,21 @@ public interface IBacktestRepository
|
||||
int page,
|
||||
int pageSize, string sortBy = "score", string sortOrder = "desc");
|
||||
|
||||
(IEnumerable<LightBacktest> Backtests, int TotalCount) GetBacktestsByUserPaginated(User user, int page,
|
||||
int pageSize, string sortBy = "score", string sortOrder = "desc");
|
||||
(IEnumerable<LightBacktest> Backtests, int TotalCount) GetBacktestsByUserPaginated(
|
||||
User user,
|
||||
int page,
|
||||
int pageSize,
|
||||
Enums.BacktestSortableColumn sortBy = Enums.BacktestSortableColumn.Score,
|
||||
string sortOrder = "desc",
|
||||
BacktestsFilter? filter = null);
|
||||
|
||||
Task<(IEnumerable<LightBacktest> Backtests, int TotalCount)> GetBacktestsByUserPaginatedAsync(User user, int page,
|
||||
int pageSize, string sortBy = "score", string sortOrder = "desc");
|
||||
Task<(IEnumerable<LightBacktest> Backtests, int TotalCount)> GetBacktestsByUserPaginatedAsync(
|
||||
User user,
|
||||
int page,
|
||||
int pageSize,
|
||||
Enums.BacktestSortableColumn sortBy = Enums.BacktestSortableColumn.Score,
|
||||
string sortOrder = "desc",
|
||||
BacktestsFilter? filter = null);
|
||||
|
||||
Task<Backtest> GetBacktestByIdForUserAsync(User user, string id);
|
||||
Task DeleteBacktestByIdForUserAsync(User user, string id);
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using Managing.Domain.Backtests;
|
||||
using Managing.Application.Abstractions.Shared;
|
||||
using Managing.Common;
|
||||
using Managing.Domain.Backtests;
|
||||
using Managing.Domain.Bots;
|
||||
using Managing.Domain.Candles;
|
||||
using Managing.Domain.Users;
|
||||
@@ -64,9 +66,22 @@ namespace Managing.Application.Abstractions.Services
|
||||
Task<bool> DeleteBacktestByUserAsync(User user, string id);
|
||||
Task<bool> DeleteBacktestsByIdsForUserAsync(User user, IEnumerable<string> ids);
|
||||
bool DeleteBacktestsByUser(User user);
|
||||
(IEnumerable<LightBacktest> Backtests, int TotalCount) GetBacktestsByUserPaginated(
|
||||
User user,
|
||||
int page,
|
||||
int pageSize,
|
||||
Enums.BacktestSortableColumn sortBy,
|
||||
string sortOrder = "desc",
|
||||
BacktestsFilter? filter = null);
|
||||
|
||||
Task<(IEnumerable<LightBacktest> Backtests, int TotalCount)> GetBacktestsByUserPaginatedAsync(
|
||||
User user,
|
||||
int page,
|
||||
int pageSize,
|
||||
Enums.BacktestSortableColumn sortBy,
|
||||
string sortOrder = "desc",
|
||||
BacktestsFilter? filter = null);
|
||||
Task<bool> DeleteBacktestsByRequestIdAsync(Guid requestId);
|
||||
(IEnumerable<LightBacktest> Backtests, int TotalCount) GetBacktestsByUserPaginated(User user, int page, int pageSize, string sortBy = "score", string sortOrder = "desc");
|
||||
Task<(IEnumerable<LightBacktest> Backtests, int TotalCount)> GetBacktestsByUserPaginatedAsync(User user, int page, int pageSize, string sortBy = "score", string sortOrder = "desc");
|
||||
|
||||
// Bundle backtest methods
|
||||
void InsertBundleBacktestRequestForUser(User user, BundleBacktestRequest bundleRequest);
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
namespace Managing.Application.Abstractions.Shared;
|
||||
|
||||
public class BacktestsFilter
|
||||
{
|
||||
public double? ScoreMin { get; set; }
|
||||
public double? ScoreMax { get; set; }
|
||||
public int? WinrateMin { get; set; }
|
||||
public int? WinrateMax { get; set; }
|
||||
public decimal? MaxDrawdownMax { get; set; }
|
||||
public IEnumerable<string>? Tickers { get; set; }
|
||||
public IEnumerable<string>? Indicators { get; set; }
|
||||
public TimeSpan? DurationMin { get; set; }
|
||||
public TimeSpan? DurationMax { get; set; }
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user