42 lines
1.1 KiB
C#
42 lines
1.1 KiB
C#
using LiteDB;
|
|
using Microsoft.Extensions.Options;
|
|
using WorkerService1.Dto.Configuration;
|
|
|
|
namespace WorkerService1.Services;
|
|
|
|
public class SettingServices
|
|
{
|
|
private readonly IOptionsMonitor<ClientOptions> _optionsMonitor;
|
|
private readonly LiteDatabase _db;
|
|
|
|
public SettingServices(IOptionsMonitor<ClientOptions> optionsMonitor, LiteDatabase db)
|
|
{
|
|
_optionsMonitor = optionsMonitor;
|
|
_db = db;
|
|
}
|
|
|
|
public void Reset()
|
|
{
|
|
SettingClientOptions(_optionsMonitor.CurrentValue);
|
|
}
|
|
|
|
public ClientOptions GetClientOptions()
|
|
{
|
|
var clientOptions = _db.GetCollection<ClientOptions>();
|
|
var dbOptions = clientOptions.FindAll().FirstOrDefault();
|
|
if (dbOptions != null)
|
|
{
|
|
return dbOptions;
|
|
}
|
|
|
|
return _optionsMonitor.CurrentValue;
|
|
}
|
|
|
|
public ClientOptions SettingClientOptions(ClientOptions options)
|
|
{
|
|
var clientOptions = _db.GetCollection<ClientOptions>();
|
|
clientOptions.DeleteAll();
|
|
clientOptions.Insert(options);
|
|
return options;
|
|
}
|
|
} |