Initial commit: JDE Scoping Tool migration project
Set up repository with legacy .NET Framework 4.8 source (OLD/), new .NET 10 Blazor solution (NEW/), OpenSpec specifications, documentation, and project configuration.
This commit is contained in:
Executable
+73
@@ -0,0 +1,73 @@
|
||||
using System;
|
||||
using System.Data.SqlClient;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
using Dapper;
|
||||
using DataModel;
|
||||
using Topshelf;
|
||||
using WorkerService.Helpers;
|
||||
using WorkerService.Models;
|
||||
using WorkerService.Models.Reporting;
|
||||
using WorkerService.Process;
|
||||
|
||||
namespace WorkerService
|
||||
{
|
||||
class Program
|
||||
{
|
||||
static void Main(string[] args)
|
||||
{
|
||||
string cs = Config.LotFinderDBCS;
|
||||
|
||||
//Load app domain assemblies
|
||||
var loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies().Where(a => !a.IsDynamic).ToList();
|
||||
var loadedPaths = loadedAssemblies.Select(a => a.Location).ToArray();
|
||||
|
||||
var referencedPaths = Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory, "*.dll");
|
||||
var toLoad = referencedPaths.Where(r => !loadedPaths.Contains(r, StringComparer.InvariantCultureIgnoreCase)).ToList();
|
||||
toLoad.ForEach(path => loadedAssemblies.Add(AppDomain.CurrentDomain.Load(AssemblyName.GetAssemblyName(path))));
|
||||
|
||||
//Override defaults
|
||||
SqlMapper.Settings.CommandTimeout = 1200 * 50;
|
||||
Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);
|
||||
|
||||
DataSourceConfig dsConfig = UpdateProcessor.configs.FirstOrDefault(c => c.TableName.Contains("User"));
|
||||
UpdateProcessor.DoUpdate(dsConfig.TableName);
|
||||
|
||||
return;
|
||||
|
||||
if (args.Length > 0 && args[0].Equals("REFRESH_ARCHIVE", StringComparison.CurrentCultureIgnoreCase))
|
||||
{
|
||||
Parallel.ForEach(UpdateProcessor.configs.Where(c => c.TableName.Contains("Hist")), config =>
|
||||
{
|
||||
UpdateProcessor.DoUpdate(config.TableName);
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
Host host = HostFactory.New(x =>
|
||||
{
|
||||
x.UseNLog();
|
||||
|
||||
x.StartAutomatically();
|
||||
x.EnableServiceRecovery(rc => { rc.RestartService(1); });
|
||||
x.EnableShutdown();
|
||||
|
||||
x.Service<WorkProcessor>(s =>
|
||||
{
|
||||
s.ConstructUsing(name => new WorkProcessor());
|
||||
s.WhenStarted(tc => tc.Start());
|
||||
s.WhenStopped(tc => tc.Stop());
|
||||
});
|
||||
x.RunAsLocalSystem();
|
||||
|
||||
x.SetDescription("JDE scoping search processor");
|
||||
x.SetDisplayName("JDE_SearchProcessor");
|
||||
x.SetServiceName("JDE_SearchProcessor");
|
||||
});
|
||||
|
||||
host.Run();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user