Add job framework for envelope processing and PDF finalization

Introduced new job classes for envelope processing and document finalization, including APIEnvelopeJob and FinalizeDocumentJob, both implementing Quartz IJob. Added supporting utilities for PDF annotation burning (PDFBurner), PDF merging (PDFMerger), and report generation (ReportCreator), along with related data models and exception types. Updated project references and dependencies to support Quartz scheduling, SQL Server access, and PDF manipulation with iText. This establishes a modular, extensible job-processing framework for envelope management and reporting.
This commit is contained in:
2026-01-20 16:28:05 +01:00
parent 40b2cad598
commit ff3a146636
11 changed files with 912 additions and 0 deletions

View File

@@ -6,4 +6,36 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Quartz" Version="3.9.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.2" />
<PackageReference Include="Microsoft.Data.SqlClient" Version="6.0.2" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\EnvelopeGenerator.Domain\EnvelopeGenerator.Domain.csproj" />
<ProjectReference Include="..\EnvelopeGenerator.Infrastructure\EnvelopeGenerator.Infrastructure.csproj" />
<ProjectReference Include="..\EnvelopeGenerator.PdfEditor\EnvelopeGenerator.PdfEditor.csproj" />
</ItemGroup>
<ItemGroup>
<Content Include="Jobs\**\*.cs">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<Compile Remove="Jobs\APIBackendJobs\APIEnvelopeJob.cs" />
<Compile Remove="Jobs\DataRowExtensions.cs" />
<Compile Remove="Jobs\FinalizeDocument\FinalizeDocumentExceptions.cs" />
<Compile Remove="Jobs\FinalizeDocument\FinalizeDocumentJob.cs" />
<Compile Remove="Jobs\FinalizeDocument\PDFBurner.cs" />
<Compile Remove="Jobs\FinalizeDocument\PDFBurnerParams.cs" />
<Compile Remove="Jobs\FinalizeDocument\PDFMerger.cs" />
<Compile Remove="Jobs\FinalizeDocument\ReportCreator.cs" />
<Compile Remove="Jobs\FinalizeDocument\ReportItem.cs" />
<Compile Remove="Jobs\FinalizeDocument\ReportSource.cs" />
</ItemGroup>
</Project>