using System; using System.Collections.Generic; using System.Threading.Tasks; using RdtClient.Data.Data; using RdtClient.Data.Models.Data; namespace RdtClient.Service.Services { public interface ISettings { Task> GetAll(); Task Update(IList settings); Task GetString(String key); Task GetNumber(String key); } public class Settings : ISettings { private readonly ISettingData _settingData; public Settings(ISettingData settingData) { _settingData = settingData; } public async Task> GetAll() { return await _settingData.GetAll(); } public async Task Update(IList settings) { await _settingData.Update(settings); } public async Task GetString(String key) { var setting = await _settingData.Get(key); if (setting == null) { throw new Exception($"Setting with key {key} not found"); } return setting.Value; } public async Task GetNumber(String key) { var setting = await _settingData.Get(key); if (setting == null) { throw new Exception($"Setting with key {key} not found"); } return Int32.Parse(setting.Value); } } }