aboutsummaryrefslogtreecommitdiff
path: root/RhSolutions.AddIn/Services/ReaderFactory.cs
blob: 390ccd0c52dbe6cc32e808da81c39d7504d93da3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
namespace RhSolutions.Services;

public class ReaderFactory
{
    private readonly IServiceProvider _serviceProvider;

    public ReaderFactory(IServiceProvider serviceProvider)
    {
        _serviceProvider = serviceProvider;     
    }

    public IReader GetReader(string readerName)
    {
        return readerName switch
        {
            "Excel" => (IReader)_serviceProvider.GetService(typeof(ExcelReader)),
            _ => (IReader)_serviceProvider.GetService(typeof(ExcelReader))
        };
    }
}