Files
Ai/TrafagSalesExporter/Services/HrKpiService.cs
T

23 lines
642 B
C#

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