using Managing.Application.Abstractions; using Managing.Application.ManageBot.Commands; using MediatR; namespace Managing.Application.ManageBot { /// /// Handler for retrieving a specific strategy owned by a user /// public class GetUserStrategyCommandHandler : IRequestHandler { private readonly IBotService _botService; public GetUserStrategyCommandHandler(IBotService botService) { _botService = botService; } public Task Handle(GetUserStrategyCommand request, CancellationToken cancellationToken) { var allActiveBots = _botService.GetActiveBots(); // Find the specific strategy that matches both user and strategy name var strategy = allActiveBots .FirstOrDefault(bot => bot.User.AgentName == request.AgentName && bot.Identifier == request.StrategyName); return Task.FromResult(strategy); } } }