Skip to content

Commit 3097f7b

Browse files
committed
V1 done
1 parent c4f1ef8 commit 3097f7b

File tree

3 files changed

+38
-4
lines changed

3 files changed

+38
-4
lines changed

PDFWatermarker.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,6 @@
77

88
<ItemGroup>
99
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.19" />
10+
<PackageReference Include="Microsoft.Win32.Registry" Version="5.0.0" />
1011
</ItemGroup>
1112
</Project>

Program.cs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using Microsoft.Extensions.DependencyInjection;
22
using Microsoft.Extensions.Hosting;
33
using Microsoft.Extensions.Logging;
4+
using Microsoft.Win32;
45
using System;
56
using System.Collections.Generic;
67
using System.Linq;
@@ -10,17 +11,47 @@ namespace PDFWatermarker
1011
{
1112
public class Program
1213
{
14+
15+
private static PATH_TO_CHECK_CLASS PATH = new PATH_TO_CHECK_CLASS { PATH_TO_CHECK = string.Format(@"{0}\Documents\Scanned", Environment.GetEnvironmentVariable("USERPROFILE")) };
1316
public static void Main(string[] args)
1417
{
18+
CheckRegistryExists();
1519
CreateHostBuilder(args).Build().Run();
1620
}
1721

22+
private static void CheckRegistryExists()
23+
{
24+
using (RegistryKey readKey = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\PDFWatermarker"))
25+
{
26+
if (readKey != null)
27+
{
28+
Object o = readKey.GetValue("PATH_TO_CHECK");
29+
Console.WriteLine(o.ToString());
30+
PATH.PATH_TO_CHECK = o.ToString();
31+
}
32+
else
33+
{
34+
using RegistryKey writeKey = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\PDFWatermarker");
35+
36+
writeKey.SetValue("PATH_TO_CHECK", PATH.PATH_TO_CHECK);
37+
}
38+
}
39+
40+
41+
}
42+
1843
public static IHostBuilder CreateHostBuilder(string[] args) =>
1944
Host.CreateDefaultBuilder(args)
2045
.ConfigureLogging(loggerFactory => loggerFactory.AddEventLog())
2146
.ConfigureServices((hostContext, services) =>
2247
{
2348
services.AddHostedService<Worker>();
49+
services.AddSingleton(PATH);
2450
});
51+
52+
public class PATH_TO_CHECK_CLASS {
53+
public string PATH_TO_CHECK { get; set; }
54+
public string PATH_TO_SAVE { get; set; }
55+
}
2556
}
2657
}

Worker.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,29 +7,31 @@
77
using System.Threading.Tasks;
88
using System.IO;
99
using System.Diagnostics;
10-
10+
using static PDFWatermarker.Program;
1111

1212
namespace PDFWatermarker
1313
{
1414
public class Worker : BackgroundService
1515
{
1616
private readonly ILogger<Worker> _logger;
1717
private FileSystemWatcher fsWatch;
18+
private readonly PATH_TO_CHECK_CLASS PATH;
1819

1920

20-
public Worker(ILogger<Worker> logger)
21+
public Worker(ILogger<Worker> logger, PATH_TO_CHECK_CLASS PATH)
2122
{
2223
_logger = logger;
24+
this.PATH = PATH;
2325

2426
}
2527

2628
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
2729
{
2830
_logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
29-
_logger.LogInformation("Watching File System at " + @"C:\Users\dev\Documents\Scanned");
31+
_logger.LogInformation("Watching File System at " + PATH.PATH_TO_CHECK);
3032
fsWatch = new FileSystemWatcher
3133
{
32-
Path = @"C:\Users\dev\Documents\Scanned",
34+
Path = PATH.PATH_TO_CHECK,
3335
NotifyFilter = NotifyFilters.FileName,
3436
Filter = "*.pdf"
3537
};

0 commit comments

Comments
 (0)