This commit is contained in:
Zeeshaun
2026-03-13 09:11:35 -05:00
parent f004c8205a
commit c2d6bda458
197 changed files with 14970 additions and 0 deletions
@@ -0,0 +1,23 @@
using Microsoft.Extensions.DependencyInjection;
namespace OwnerNumberMigration.ValueParsing;
public class ParsingStrategyFactory : IParsingStrategyFactory
{
private readonly IServiceProvider _services;
public ParsingStrategyFactory(IServiceProvider services)
{
_services = services;
}
public IValueParsingStrategy<T> CreateParsingStrategy<T>(string attribute) => attribute switch
{
"PersonNumber" => (IValueParsingStrategy<T>)_services.GetRequiredService<SingleValueArrayStrategy>(),
"PersonNumbers" => (IValueParsingStrategy<T>)_services.GetRequiredService<CommaStringArrayStrategy>(),
"OrganizationNumber" => (IValueParsingStrategy<T>)_services.GetRequiredService<SingleValueArrayStrategy>(),
"OrganizationNumbers" => (IValueParsingStrategy<T>)_services.GetRequiredService<CommaStringArrayStrategy>(),
"AccountNumber" => (IValueParsingStrategy<T>)_services.GetRequiredService<SingleValueStrategy>(),
_ => throw new NotImplementedException()
};
}