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