using Manager.App.Models.System; namespace Manager.App.Services.System; public class BackgroundServiceManager { private readonly HashSet _backgroundServices = []; public void RegisterService(ExtendedBackgroundService service) { _backgroundServices.Add(service); } public ListResult GetServices(string serviceName, int total = 20, int skip = 0) { var filtered = string.IsNullOrWhiteSpace(serviceName) ? _backgroundServices.ToArray() : _backgroundServices.Where(x => x.Name.Equals(serviceName, StringComparison.OrdinalIgnoreCase)).ToArray(); var results = filtered.OrderDescending() .Skip(skip) .Take(total); return new ListResultReturn(results.ToList(), filtered.Length); } }