Finalize hourly inventory configuration
This commit is contained in:
@@ -14,19 +14,22 @@ using PartSource.Automation.Models.Ftp;
|
|||||||
using PartSource.Automation.Services;
|
using PartSource.Automation.Services;
|
||||||
using Ratermania.Automation.Interfaces;
|
using Ratermania.Automation.Interfaces;
|
||||||
|
|
||||||
namespace PartSource.Automation.Jobs.POC
|
namespace PartSource.Automation.Jobs
|
||||||
{
|
{
|
||||||
public class BulkUpdateInventory : IAutomationJob
|
public class BulkUpdateInventory : IAutomationJob
|
||||||
{
|
{
|
||||||
private readonly FtpService _ftpService;
|
private readonly FtpService _ftpService;
|
||||||
private readonly ILogger<BulkUpdateInventory> _logger;
|
private readonly ILogger<BulkUpdateInventory> _logger;
|
||||||
|
private readonly string _connectionString;
|
||||||
|
|
||||||
public BulkUpdateInventory(IConfiguration configuration, ILogger<BulkUpdateInventory> logger)
|
public BulkUpdateInventory(IConfiguration configuration, ILogger<BulkUpdateInventory> logger)
|
||||||
{
|
{
|
||||||
FtpConfiguration ftpConfiguration = configuration.GetSection("FtpServers:AutomationConfiguration").Get<FtpConfiguration>();
|
FtpConfiguration ftpConfiguration = configuration.GetSection("FtpServers:AutomationConfiguration").Get<FtpConfiguration>();
|
||||||
_ftpService = new FtpService(ftpConfiguration);
|
_ftpService = new FtpService(ftpConfiguration);
|
||||||
|
|
||||||
_logger = logger;
|
_connectionString = configuration.GetConnectionString("PartSourceDatabase");
|
||||||
|
|
||||||
|
_logger = logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task Run(CancellationToken token, params string[] arguments)
|
public async Task Run(CancellationToken token, params string[] arguments)
|
||||||
@@ -46,7 +49,7 @@ namespace PartSource.Automation.Jobs.POC
|
|||||||
|
|
||||||
DataTable dataTable = GetDataTable(file);
|
DataTable dataTable = GetDataTable(file);
|
||||||
|
|
||||||
using SqlConnection connection = new SqlConnection("Server=tcp:ps-whi.database.windows.net,1433;Initial Catalog=ps-whi-test;Persist Security Info=False;User ID=ps-whi;Password=9-^*N5dw!6:|.5Q;MultipleActiveResultSets=True;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;");
|
using SqlConnection connection = new SqlConnection(_connectionString);
|
||||||
connection.Open();
|
connection.Open();
|
||||||
|
|
||||||
using SqlCommand command = new SqlCommand("TRUNCATE TABLE PartAvailability", connection);
|
using SqlCommand command = new SqlCommand("TRUNCATE TABLE PartAvailability", connection);
|
||||||
@@ -17,7 +17,7 @@ namespace PartSource.Automation.Jobs
|
|||||||
private readonly ILogger<ExecuteSsisPackages> _logger;
|
private readonly ILogger<ExecuteSsisPackages> _logger;
|
||||||
|
|
||||||
// TODO: set from config
|
// TODO: set from config
|
||||||
private readonly string[] _ssisPackages = {"Parts Availability" };
|
private readonly string[] _ssisPackages = {"Parts Price" };
|
||||||
|
|
||||||
public ExecuteSsisPackages(EmailService emailService, IConfiguration configuration, SsisService ssisService, ILogger<ExecuteSsisPackages> logger)
|
public ExecuteSsisPackages(EmailService emailService, IConfiguration configuration, SsisService ssisService, ILogger<ExecuteSsisPackages> logger)
|
||||||
{
|
{
|
||||||
@@ -36,7 +36,7 @@ namespace PartSource.Automation.Jobs
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// _ftpService.Download($"{package}.txt");
|
_ftpService.Download($"{package}.txt");
|
||||||
_ssisService.Execute($"{package}.dtsx");
|
_ssisService.Execute($"{package}.dtsx");
|
||||||
|
|
||||||
_logger.LogInformation($"Execution of SSIS package {package} completed successfully.");
|
_logger.LogInformation($"Execution of SSIS package {package} completed successfully.");
|
||||||
|
|||||||
@@ -14,18 +14,21 @@ using PartSource.Automation.Models.Ftp;
|
|||||||
using PartSource.Automation.Services;
|
using PartSource.Automation.Services;
|
||||||
using Ratermania.Automation.Interfaces;
|
using Ratermania.Automation.Interfaces;
|
||||||
|
|
||||||
namespace PartSource.Automation.Jobs.POC
|
namespace PartSource.Automation.Jobs
|
||||||
{
|
{
|
||||||
public class PartialInventoryUpdate : IAutomationJob
|
public class PartialInventoryUpdate : IAutomationJob
|
||||||
{
|
{
|
||||||
private readonly FtpService _ftpService;
|
private readonly FtpService _ftpService;
|
||||||
private readonly ILogger<PartialInventoryUpdate> _logger;
|
private readonly ILogger<PartialInventoryUpdate> _logger;
|
||||||
|
private readonly string _connectionString;
|
||||||
|
|
||||||
public PartialInventoryUpdate(IConfiguration configuration, ILogger<PartialInventoryUpdate> logger)
|
public PartialInventoryUpdate(IConfiguration configuration, ILogger<PartialInventoryUpdate> logger)
|
||||||
{
|
{
|
||||||
FtpConfiguration ftpConfiguration = configuration.GetSection("FtpServers:AutomationConfiguration").Get<FtpConfiguration>();
|
FtpConfiguration ftpConfiguration = configuration.GetSection("FtpServers:AutomationConfiguration").Get<FtpConfiguration>();
|
||||||
_ftpService = new FtpService(ftpConfiguration);
|
_ftpService = new FtpService(ftpConfiguration);
|
||||||
|
|
||||||
|
_connectionString = _connectionString = configuration.GetConnectionString("PartSourceDatabase");
|
||||||
|
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -46,7 +49,7 @@ namespace PartSource.Automation.Jobs.POC
|
|||||||
|
|
||||||
string file = _ftpService.Download($"{lastUploadedFile.Filename}");
|
string file = _ftpService.Download($"{lastUploadedFile.Filename}");
|
||||||
|
|
||||||
using SqlConnection connection = new SqlConnection("Server=tcp:ps-whi.database.windows.net,1433;Initial Catalog=ps-whi-test;Persist Security Info=False;User ID=ps-whi;Password=9-^*N5dw!6:|.5Q;MultipleActiveResultSets=True;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;");
|
using SqlConnection connection = new SqlConnection(_connectionString);
|
||||||
connection.Open();
|
connection.Open();
|
||||||
|
|
||||||
using StreamReader reader = new StreamReader(file);
|
using StreamReader reader = new StreamReader(file);
|
||||||
@@ -4,7 +4,6 @@ using Microsoft.Extensions.DependencyInjection;
|
|||||||
using Microsoft.Extensions.Hosting;
|
using Microsoft.Extensions.Hosting;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using PartSource.Automation.Jobs;
|
using PartSource.Automation.Jobs;
|
||||||
using PartSource.Automation.Jobs.POC;
|
|
||||||
using PartSource.Automation.Services;
|
using PartSource.Automation.Services;
|
||||||
using PartSource.Data.AutoMapper;
|
using PartSource.Data.AutoMapper;
|
||||||
using PartSource.Data.Contexts;
|
using PartSource.Data.Contexts;
|
||||||
@@ -75,28 +74,37 @@ namespace PartSource.Automation
|
|||||||
|
|
||||||
.AddAutomation(options =>
|
.AddAutomation(options =>
|
||||||
{
|
{
|
||||||
options.HasBaseInterval(new TimeSpan(0, 5, 0))
|
options.HasBaseInterval(new TimeSpan(0, 5, 0))
|
||||||
.HasMaxFailures(1)
|
.HasMaxFailures(1)
|
||||||
//.HasJob<TestJob>(options => options.HasInterval(new TimeSpan(7, 0, 0, 0)));
|
//.HasJob<TestJob>(options => options.HasInterval(new TimeSpan(7, 0, 0, 0)));
|
||||||
//
|
//
|
||||||
//.HasJob<SyncronizeProducts>(options => options.HasInterval(new TimeSpan(24, 0, 0)))
|
//.HasJob<SyncronizeProducts>(options => options.HasInterval(new TimeSpan(24, 0, 0)))
|
||||||
// .HasJob<ProcessWhiFitment>(options => options.HasInterval(new TimeSpan(24, 0, 0)));
|
// .HasJob<ProcessWhiFitment>(options => options.HasInterval(new TimeSpan(24, 0, 0)));
|
||||||
//.HasJob<ProcessWhiVehicles>(options => options.HasInterval(new TimeSpan(24, 0, 0))
|
//.HasJob<ProcessWhiVehicles>(options => options.HasInterval(new TimeSpan(24, 0, 0))
|
||||||
//.HasDependency<SyncronizeProducts>()
|
//.HasDependency<SyncronizeProducts>()
|
||||||
//.HasJob<UpdateFitment>(options => options.HasInterval(new TimeSpan(24, 0, 0)));
|
//.HasJob<UpdateFitment>(options => options.HasInterval(new TimeSpan(24, 0, 0)));
|
||||||
//.HasJob<UpdatePositioning>(options => options.HasInterval(new TimeSpan(24, 0, 0))
|
//.HasJob<UpdatePositioning>(options => options.HasInterval(new TimeSpan(24, 0, 0))
|
||||||
// .HasDependency<UpdateFitment>()
|
// .HasDependency<UpdateFitment>()
|
||||||
// .HasDependency<ProcessWhiFitment>()
|
// .HasDependency<ProcessWhiFitment>()
|
||||||
// .HasDependency<SyncronizeProducts>()
|
// .HasDependency<SyncronizeProducts>()
|
||||||
// .StartsAt(DateTime.Today.AddHours(8))
|
// .StartsAt(DateTime.Today.AddHours(8))
|
||||||
//) ;
|
//) ;
|
||||||
//.HasJob<StatusCheck>(options => options.HasInterval(new TimeSpan(24, 0, 0))
|
//.HasJob<StatusCheck>(options => options.HasInterval(new TimeSpan(24, 0, 0))
|
||||||
// .StartsAt(DateTime.Parse("2021-04-01 08:00:00"))
|
// .StartsAt(DateTime.Parse("2021-04-01 08:00:00"))
|
||||||
//)
|
//)
|
||||||
.HasJob<BulkUpdateInventory>(options =>
|
.HasJob<ExecuteSsisPackages>(options =>
|
||||||
options.HasInterval(new TimeSpan(1, 0, 0))
|
options.HasInterval(new TimeSpan(24, 0, 0))
|
||||||
.StartsAt(DateTime.Today.AddHours(-27))
|
.StartsAt(DateTime.Today.AddHours(-24))
|
||||||
)
|
)
|
||||||
|
.HasJob<UpdatePricing>(options =>
|
||||||
|
options.HasInterval(new TimeSpan(24, 0, 0))
|
||||||
|
.StartsAt(DateTime.Today.AddHours(-22))
|
||||||
|
.HasDependency<ExecuteSsisPackages>()
|
||||||
|
)
|
||||||
|
.HasJob<BulkUpdateInventory>(options =>
|
||||||
|
options.HasInterval(new TimeSpan(1, 0, 0))
|
||||||
|
.StartsAt(DateTime.Today.AddHours(-27))
|
||||||
|
)
|
||||||
.HasJob<PartialInventoryUpdate>(options =>
|
.HasJob<PartialInventoryUpdate>(options =>
|
||||||
options.HasInterval(new TimeSpan(1, 0, 0))
|
options.HasInterval(new TimeSpan(1, 0, 0))
|
||||||
.StartsAt(DateTime.Today.AddHours(-27).AddMinutes(30))
|
.StartsAt(DateTime.Today.AddHours(-27).AddMinutes(30))
|
||||||
|
|||||||
Reference in New Issue
Block a user