using Microsoft.Extensions.Options; using TrafagSalesExporter.Models; namespace TrafagSalesExporter.Services; public interface IHrKpiService { Task BuildAsync(HrKpiOptions options); } public sealed class HrKpiService : IHrKpiService { private readonly HrKpiDataSourceOptions _dataSources; public HrKpiService(IOptions? dataSources = null) { _dataSources = (dataSources?.Value ?? new HrKpiDataSourceOptions()).Normalize(); } public Task BuildAsync(HrKpiOptions options) => Task.FromResult(new HrKpiDashboardBuilder(_dataSources).Build(options)); }