23 lines
844 B
C#
23 lines
844 B
C#
using Manager.App.Models.System;
|
|
|
|
namespace Manager.App.Services.System;
|
|
|
|
public class BackgroundServiceManager
|
|
{
|
|
private readonly HashSet<ExtendedBackgroundService> _backgroundServices = [];
|
|
|
|
public void RegisterService(ExtendedBackgroundService service)
|
|
{
|
|
_backgroundServices.Add(service);
|
|
}
|
|
|
|
public ListResult<ExtendedBackgroundService> 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<ExtendedBackgroundService>(results.ToList(), filtered.Length);
|
|
}
|
|
} |