56 lines
1.4 KiB
C#
56 lines
1.4 KiB
C#
using Microsoft.Extensions.Configuration;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using PartSource.Automation.Jobs;
|
|
using PartSource.Automation.Jobs.Interfaces;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace PartSource.Automation.Factories
|
|
{
|
|
public class JobFactory
|
|
{
|
|
private readonly IServiceProvider _serviceProvider;
|
|
|
|
public JobFactory(IServiceProvider serviceProvider)
|
|
{
|
|
_serviceProvider = serviceProvider;
|
|
}
|
|
|
|
public IAutomationJob Build(string jobName)
|
|
{
|
|
switch (jobName)
|
|
{
|
|
case nameof(AddProducts):
|
|
return _serviceProvider.GetService<AddProducts>();
|
|
|
|
case nameof(DeleteProducts):
|
|
return _serviceProvider.GetService<DeleteProducts>();
|
|
|
|
case nameof(StatusCheck):
|
|
return _serviceProvider.GetService<StatusCheck>();
|
|
|
|
case nameof(TestJob):
|
|
return new TestJob();
|
|
|
|
case nameof(UpdateFitment):
|
|
return _serviceProvider.GetService<UpdateFitment>();
|
|
|
|
case nameof(UpdatePricing):
|
|
return _serviceProvider.GetService<UpdatePricing>();
|
|
|
|
case nameof(UpdatePositioning):
|
|
return _serviceProvider.GetService<UpdatePositioning>();
|
|
|
|
case nameof(ExecuteSsisPackages):
|
|
return _serviceProvider.GetService<ExecuteSsisPackages>();
|
|
|
|
default:
|
|
throw new Exception($"The job {jobName} could not be found.");
|
|
}
|
|
}
|
|
}
|
|
}
|