48 lines
1.4 KiB
C#
48 lines
1.4 KiB
C#
using Microsoft.Extensions.Hosting;
|
|
using Microsoft.Extensions.Logging;
|
|
using console_spo_utils.Interfaces.Services;
|
|
|
|
namespace console_spo_utils.Workers
|
|
{
|
|
internal class MainWorker : BackgroundService
|
|
{
|
|
private readonly ISharePointStructureBuilder structureBuilder;
|
|
private readonly ILogger<MainWorker> logger;
|
|
|
|
public MainWorker(
|
|
ISharePointStructureBuilder structureBuilder,
|
|
ILogger<MainWorker> logger)
|
|
{
|
|
this.structureBuilder = structureBuilder;
|
|
this.logger = logger;
|
|
}
|
|
|
|
|
|
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
|
{
|
|
var buildProjectsResult = structureBuilder.BuildProject("CT0000");
|
|
|
|
if (!buildProjectsResult)
|
|
{
|
|
logger.LogError("Impossible to create structure");
|
|
return;
|
|
}
|
|
|
|
var buildQuotationResult = structureBuilder.BuildQuotation("OF0001");
|
|
|
|
if (!buildQuotationResult)
|
|
{
|
|
logger.LogError("Impossible to create structure");
|
|
return;
|
|
}
|
|
|
|
var buildNonComplianceResult = structureBuilder.BuildNonCompliance("NC0002");
|
|
|
|
if (!buildNonComplianceResult)
|
|
{
|
|
logger.LogError("Impossible to create structure");
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
} |