Files
parr_api/PARR.MockData/Services/TemplatesInitializer.cs

118 lines
4.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using PARR.DAL.Models;
using PARR.DAL.Services.Interfaces;
namespace PARR.MockData.Services
{
internal class TemplatesInitializer : ITemplatesInitializer
{
private readonly ILogger<TemplatesInitializer> logger;
private readonly ITemplateService templateService;
private readonly IProcessService processService;
private readonly ISubprocessService subprocessService;
private readonly ITnkService tnkService;
//private readonly IWorkService workService;
public TemplatesInitializer(
ILogger<TemplatesInitializer> logger,
ITemplateService templateService,
IProcessService processService,
ISubprocessService subprocessService,
ITnkService tnkService
//IWorkService workService
)
{
this.logger = logger;
this.templateService = templateService;
this.processService = processService;
this.subprocessService = subprocessService;
this.tnkService = tnkService;
//this.workService = workService;
}
public async Task InitAsync()
{
var process = await processService.Get().FirstOrDefaultAsync(p => p.EsppId == 202);
if (process == null)
{
process = new Process
{
Id = Guid.NewGuid(),
DateCreated = DateTimeOffset.UtcNow,
Name = "ПТК Выполнение регламентных работ (О3.2.2.4)",
EsppId = 202,
};
if (!await processService.CreateAsync(process) || !await processService.CommitAsync())
{
logger.LogError($"Не удалось создать process {process.Name}");
return;
}
else
logger.LogInformation($"----- Создан process: {process.Name} -----");
}
var subprocess = await subprocessService.Get().FirstOrDefaultAsync(p => p.EsppId == 202);
if (subprocess == null)
{
subprocess = new Subprocess
{
Id = Guid.NewGuid(),
DateCreated = DateTimeOffset.UtcNow,
Name = "ПТК Выполнение регламентных работ (О3.2.2.4)",
EsppId = 202,
ProcessId = process.Id,
};
if (!await subprocessService.CreateAsync(subprocess) || !await subprocessService.CommitAsync())
{
logger.LogError($"Не удалось создать subprocess {subprocess.Name}");
return;
}
else
logger.LogInformation($"----- Создан subprocess: {subprocess.Name} -----");
}
var tnk = await tnkService.Get().FirstOrDefaultAsync(p => p.EsppId == 292917);
if (tnk == null)
{
tnk = new Tnk
{
Id = Guid.NewGuid(),
DateCreated = DateTimeOffset.UtcNow,
Name = "Прочее(работы)",
EsppId = 292917,
SubprocessId = subprocess.Id
};
if (!await tnkService.CreateAsync(tnk) || !await tnkService.CommitAsync())
{
logger.LogError($"Не удалось создать tnk {tnk.Name}");
return;
}
else
logger.LogInformation($"----- Создан tnk: {tnk.Name} -----");
}
//var work = await workService.Get().FirstOrDefaultAsync(p => p.EsppId == 292917);
//if (work == null)
//{
// work = new Work
// {
// Id = Guid.NewGuid(),
// DateCreated = DateTimeOffset.UtcNow,
// Name = "Прочее(работы)",
// EsppId = 292917,
// TnkId = tnk.Id,
// TemplateNameMask= "%ЗО%-ЭИТИ-ПТК-ПАРР__%ЭК%__%РАБОТА%"
// };
// if (!await workService.CreateAsync(work) || !await workService.CommitAsync())
// {
// logger.LogError($"Не удалось создать work {work.Name}");
// return;
// }
// else
// logger.LogInformation($"----- Создан work: {work.Name} -----");
//}
}
}
}