фикс MockData и немного сервисов

This commit is contained in:
Mikhail Kuznetsov
2023-09-20 14:48:58 +10:00
parent f9fe762cbe
commit c04c2e1085
12 changed files with 234 additions and 231 deletions

View File

@@ -1,5 +1,5 @@
using Microsoft.Extensions.Logging;
using PARR.DAL.Contracts;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using PARR.DAL.Models;
using PARR.DAL.Services.Interfaces;
@@ -9,243 +9,108 @@ namespace PARR.MockData.Services
{
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
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 templates = new List<Template>() {
new Template{
Id=Guid.NewGuid(),
DateCreated=DateTimeOffset.UtcNow,
//EK="ВРТ-VMWARE-ДВС",
IsActive=true,
//WorkGroup="СМЕНА-ПТК-ДВС",
//ShortDescription="ПАРР-ДВС-ПТК СМЕНА-УСТАНОВКА ОБНОВЛЕНИЙ ОС",
//Category="регламентная работа",
//Process="ЦВК Выполнение регламентных работ (О3.2.2.3)",
//SubProcess="ЦВК Выполнение регламентных работ (О3.2.2.3)",
//ClosingCode="выполнен",
//Duration="3 00:00:00",
//FullDescription="Установка обновлений ОС серверов средней и низ-кой критичности.",
//Initiator="ГУСЬКОВ АНДРЕЙ СЕРГЕЕВИЧ (IVC_GUSKOVAS@DVGD.OAO.RZD)",
Name="ПАРР-ДВС-ПТК СМЕНА-УСТАНОВКА ОБНОВЛЕНИЙ ОС",
//ResponseArea="96-ДВС",
//Solution="Установка обновлений ОС серверов средней и низкой критичности.",
//TNK="",
//Work="",
//Worker="",
StatusCode = (int)StatusTemplateEnum.Creating,
//ApplicationInWorkId=ApplicationsInWork.
},
//new Template{
// Id=Guid.NewGuid(),
// DateCreated=DateTimeOffset.Parse("2023-09-15 00:14:38.992903+00"),
// EK="КОМПЛЕКСЫ-ДВС",
// IsActive=true,
// WorkGroup="СМЕНА-ПТК-ДВС",
// ShortDescription="ДВС-ПТК СМЕНА-РАБОТА С ИЗМЕНЕНИЯМИ-2",
// Category="регламентная работа",
// Process="ПТК Выполнение регламентных работ (О3.2.2.4)",
// SubProcess="ПТК Выполнение регламентных работ (О3.2.2.4)",
// ClosingCode="выполнен",
// Duration="3 00:00:00",
// FullDescription="Работа с изменениями. Проверка плана обновлений ПО серверов. Проверка создания и согласования изменений для обновления ПО серверов низкой и средней критичности.",
// Initiator="ГУСЬКОВ АНДРЕЙ СЕРГЕЕВИЧ (IVC_GUSKOVAS@DVGD.OAO.RZD)",
// Name="ПАРР-ДВС-ПТК СМЕНА-РАБОТА С ИЗМЕНЕНИЯМИ-2",
// ResponseArea="96-ДВС",
// Solution="Работа с изменениями. Проверка плана обновлений ПО серверов. Проверка создания и согласования изменений для обновления ПО серверов низкой и средней критичности.",
// TNK="",
// Work="",
// Worker="",
// StatusCode = (int)StatusTemplateEnum.Creating
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} -----");
}
//},
//new Template
//{
// Id=Guid.NewGuid(),
// DateCreated=DateTimeOffset.Parse("2023-09-15 00:14:38.981423+00"),
// EK="ВРТ-VMWARE-ДВС",
// IsActive=true,
// WorkGroup="СМЕНА-ПТК-ДВС",
// ShortDescription="ДВС-ПТК СМЕНА-Проверка СРК VMWare",
// Category="регламентная работа",
// Process="ЦВК Выполнение регламентных работ (О3.2.2.3)",
// SubProcess="ЦВК Выполнение регламентных работ (О3.2.2.3)",
// ClosingCode="выполнен",
// Duration="3 00:00:00",
// FullDescription="Проверка резервного копирования серверов в VMware.",
// Initiator="ГУСЬКОВ АНДРЕЙ СЕРГЕЕВИЧ (IVC_GUSKOVAS@DVGD.OAO.RZD)",
// Name="ПАРР-ДВС-ПТК СМЕНА-ПРОВЕРКА СРК VMWARE",
// ResponseArea="96-ДВС",
// Solution="Проверка резервного копирования серверов в VMware.",
// TNK="ТО-1 Мониторинг и анализ работы виртуального центра Vmware (ежедневные) (О3.2.2.3) - виртуальный комплекс",
// Work="ТО-1 Мониторинг и анализ работы виртуального центра Vmware (ежедневные) (О3.2.2.3)",
// Worker="",
// StatusCode = (int)StatusTemplateEnum.Creating
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} -----");
}
//},
//new Template
//{
// Id=Guid.NewGuid(),
// DateCreated=DateTimeOffset.Parse("2023-09-15 00:14:38.966595+00"),
// EK="КОМПЛЕКСЫ-ДВС",
// IsActive=true,
// WorkGroup="СМЕНА-ПТК-ДВС",
// ShortDescription="ДВС-ПТК СМЕНА-ПРОВЕРКА СВОБОДНОГО МЕСТА НА ДИСКАХ",
// Category="регламентная работа",
// Process="ЦВК Выполнение регламентных работ (О3.2.2.3)",
// SubProcess="ЦВК Выполнение регламентных работ (О3.2.2.3)",
// ClosingCode="выполнен",
// Duration="3 00:00:00",
// FullDescription="Проверка свободного места на дисках серверов",
// Initiator="ГУСЬКОВ АНДРЕЙ СЕРГЕЕВИЧ (IVC_GUSKOVAS@DVGD.OAO.RZD)",
// Name="ПАРР-ДВС-ПТК СМЕНА-ПРОВЕРКА СВОБОДНОГО МЕСТА НА ДИСКАХ",
// ResponseArea="96-ДВС",
// Solution="Проверка свободного места на дисках серверов.",
// TNK="",
// Work="",
// Worker="",
// StatusCode = (int)StatusTemplateEnum.Creating
var tnk = await tnkService.Get().FirstOrDefaultAsync(p => p.EsppId == 292454);
if (tnk == null)
{
tnk = new Tnk
{
Id = Guid.NewGuid(),
DateCreated = DateTimeOffset.UtcNow,
Name = "ППО Анализ прикладных журналов серверов приложений (О3.2.2.4)",
EsppId = 292454,
SubprocessId = subprocess.Id
};
if (!await tnkService.CreateAsync(tnk) || !await tnkService.CommitAsync())
{
logger.LogError($"Не удалось создать tnk {tnk.Name}");
return;
}
else
logger.LogInformation($"----- Создан tnk: {tnk.Name} -----");
}
//},
//new Template
//{
// Id=Guid.NewGuid(),
// DateCreated=DateTimeOffset.Parse("2023-09-15 00:14:38.953887+00"),
// EK="КОМПЛЕКСЫ-ДВС",
// IsActive=true,
// WorkGroup="СМЕНА-ПТК-ДВС",
// ShortDescription="ДВС-ПТК СМЕНА-ОБХОД СЕРВЕРНЫХ",
// Category="регламентная работа",
// Process="ЦВК Выполнение регламентных работ (О3.2.2.3)",
// SubProcess="ЦВК Выполнение регламентных работ (О3.2.2.3)",
// ClosingCode="выполнен",
// Duration="3 00:00:00",
// FullDescription="Обход серверных помещений. Проверка соблюдений правил пожарной безопасно-сти в помещениях (отсутствие пустых коробок от оборудования, общий порядок в помещениях, сер-верных шкафах и т.п.). Проверка индикаторов серверного оборудова-ния отдела ПТК (отмечать о серверах где горят красные/оранжевые критические инди-каторы).",
// Initiator="ГУСЬКОВ АНДРЕЙ СЕРГЕЕВИЧ (IVC_GUSKOVAS@DVGD.OAO.RZD)",
// Name="ПАРР-ДВС-ПТК СМЕНА-ОБХОД СЕРВЕРНЫХ",
// ResponseArea="96-ДВС",
// Solution="Обход серверных помещений. Проверка соблюдения правил пожарной безопасности в помещениях. Проверка индикаторов серверного оборудования отдела ПТК.",
// TNK="",
// Work="",
// Worker="",
// StatusCode = (int)StatusTemplateEnum.Creating
//},
//new Template
//{
// Id=Guid.NewGuid(),
// DateCreated=DateTimeOffset.Parse("2023-09-15 00:14:38.940346+00"),
// EK="КОМПЛЕКСЫ-ДВС",
// IsActive=true,
// WorkGroup="СМЕНА-ПТК-ДВС",
// ShortDescription="ДВС-ПТК СМЕНА-ОБСЛУЖИВАИНЕ БАЗ ДАННЫХ",
// Category="регламентная работа",
// Process="ПТК Выполнение регламентных работ (О3.2.2.4)",
// SubProcess="ПТК Выполнение регламентных работ (О3.2.2.4)",
// ClosingCode="выполнен",
// Duration="3 00:00:00",
// FullDescription="обслуживание баз данных",
// Initiator="ГУСЬКОВ АНДРЕЙ СЕРГЕЕВИЧ (IVC_GUSKOVAS@DVGD.OAO.RZD)",
// Name="ПАРР-ДВС-ПТК СМЕНА-ОБСЛУЖИВАИНЕ БАЗ ДАННЫХ",
// ResponseArea="96-ДВС",
// Solution="Обслуживание баз данных",
// TNK="СПО Анализ системных журналов СУБД (О3.2.2.4)",
// Work="СПО Анализ системных журналов СУБД (О3.2.2.4)",
// Worker="",
// StatusCode = (int)StatusTemplateEnum.Creating
//},
//new Template
//{
// Id=Guid.NewGuid(),
// DateCreated=DateTimeOffset.Parse("2023-09-15 00:14:39.017247+00"),
// EK="ЦОММ-ДВС",
// IsActive=true,
// WorkGroup="СМЕНА-ПТК-ДВС",
// ShortDescription="Администрирование DB2 ЦОММ",
// Category="регламентная работа",
// Process="ПТК Выполнение регламентных работ (О3.2.2.4)",
// SubProcess="ПТК Выполнение регламентных работ (О3.2.2.4)",
// ClosingCode="выполнен",
// Duration="10 00:00:00",
// FullDescription="Администрирование DB2 ЦОММ",
// Initiator="ГУСЬКОВ АНДРЕЙ СЕРГЕЕВИЧ (IVC_GUSKOVAS@DVGD.OAO.RZD)",
// Name="ПАРР-ДВС-ПТК-DB2-ЦОММ",
// ResponseArea="96-ДВС",
// Solution="Администрирование DB2 ЦОММ.",
// TNK="СПО Анализ производительности серверов приложений (О3.2.2.4)",
// Work="СПО Анализ производительности серверов приложений (О3.2.2.4)",
// Worker="",
// StatusCode = (int)StatusTemplateEnum.Creating
//},
//new Template
//{
// Id=Guid.NewGuid(),
// DateCreated=DateTimeOffset.Parse("2023-09-15 00:14:38.925717+00"),
// EK="СРК-NETBACKUP-ДВС",
// IsActive=true,
// WorkGroup="СМЕНА-ПТК-ДВС",
// ShortDescription="ДВС-ПТК СМЕНА-МОНИТОРИНГ СРК",
// Category="регламентная работа",
// Process="ЦВК Выполнение регламентных работ (О3.2.2.3)",
// SubProcess="ЦВК Выполнение регламентных работ (О3.2.2.3)",
// ClosingCode="выполнен",
// Duration="3 00:00:00",
// FullDescription="Мониторинг состояния системы резервного копирования",
// Initiator="ГУСЬКОВ АНДРЕЙ СЕРГЕЕВИЧ (IVC_GUSKOVAS@DVGD.OAO.RZD)",
// Name="ПАРР-ДВС-ПТК СМЕНА-КОНТРОЛЬ РАБОТЫ СРК",
// ResponseArea="96-ДВС",
// Solution="Мониторинг состояния системы резервного копирования",
// TNK="ТО-1 Мониторинг и анализ работы системы СРК (ежедневные) (О3.2.2.3) - региональный",
// Work="ТО-1 Мониторинг и анализ работы системы СРК (ежедневные) (О3.2.2.3)",
// Worker="",
// StatusCode = (int)StatusTemplateEnum.Creating
//},
//new Template
//{
// Id=Guid.NewGuid(),
// DateCreated=DateTimeOffset.Parse("2023-09-15 00:14:38.910218+00"),
// EK="КОМПЛЕКСЫ-ДВС",
// IsActive=true,
// WorkGroup="СМЕНА-ПТК-ДВС",
// ShortDescription="ДВС-ПТК СМЕНА-Анализ плановых работ по системам",
// Category="регламентная работа",
// Process="ПТК Выполнение регламентных работ (О3.2.2.4)",
// SubProcess="ПТК Выполнение регламентных работ (О3.2.2.4)",
// ClosingCode="выполнен",
// Duration="3 00:00:00",
// FullDescription="ДВС-ПТК СМЕНА-Анализ плановых работ по системам",
// Initiator="ГУСЬКОВ АНДРЕЙ СЕРГЕЕВИЧ (IVC_GUSKOVAS@DVGD.OAO.RZD)",
// Name="ПАРР-ДВС-ПТК СМЕНА-АНАЛИЗ ПЛАНОВЫХ РАБОТ ПО СИСТЕМАМ",
// ResponseArea="96-ДВС",
// Solution="Анализ плановых работ по системам",
// TNK="",
// Work="",
// Worker="",
// StatusCode = (int)StatusTemplateEnum.Creating
//}
};
//foreach (var template in templates)
//{
// if (!await templateService.CreateAsync(template) || !await templateService.CommitAsync())
// {
// logger.LogError($"Не удалось создать Template {template.Name} {template.ShortDescription}");
// continue;
// }
// else
// logger.LogInformation($"----- Создан Template: {template.Name}, {template.ShortDescription} -----");
//}
var work = await workService.Get().FirstOrDefaultAsync(p => p.EsppId == 292454);
if (work == null)
{
work = new Work
{
Id = Guid.NewGuid(),
DateCreated = DateTimeOffset.UtcNow,
Name = "ППО Анализ прикладных журналов серверов приложений (О3.2.2.4)",
EsppId = 292454,
TnkId = tnk.Id
};
if (!await workService.CreateAsync(work) || !await workService.CommitAsync())
{
logger.LogError($"Не удалось создать work {work.Name}");
return;
}
else
logger.LogInformation($"----- Создан work: {work.Name} -----");
}
}
}
}