feat(dal,aihitLoader,aihitSyncer): добавлены новые типы программного обеспечения. При синхронизации хосты находятся по имени ЭК вместо IP-адерса

This commit is contained in:
Mikhail Kuznetsov
2024-04-18 10:18:14 +10:00
parent f6342719b6
commit 3d89e5956c
11 changed files with 2877 additions and 85 deletions

View File

@@ -92,7 +92,7 @@ namespace PARR.AIHITSyncer
//private async Task SyncHostToScopeAsync(IHostService hostService, AihitDataMq objFromQuery)
//{
// //ищем существующий хост в БД
// var host = await hostService.GetHostWithAppsAsync(objFromQuery.IP);
// var host = await hostService.GetHostWithAppsByIpAsync(objFromQuery.IP);
// var isNew = false;
// //если не нашли - создаём
// if (host == null)
@@ -136,7 +136,7 @@ namespace PARR.AIHITSyncer
// logger.LogInformation($"----- Создан узел: {host.Id} -----");
// return await hostService.GetHostWithAppsAsync(host.IP);
// return await hostService.GetHostWithAppsByIpAsync(host.IP);
//}

View File

@@ -54,7 +54,8 @@ namespace PARR.AIHITSyncer.Services
private async Task SyncHostAsync(AihitDataMq objFromQuery)
{
//ищем существующий хост в БД
var host = await hostService.GetHostWithAppsAsync(objFromQuery.IP);
//var host = await hostService.GetHostWithAppsByIpAsync(objFromQuery.IP);
var host = await hostService.GetHostWithAppsByEkAsync(objFromQuery.EK);
var isNew = false;
//если не нашли - создаём
if (host == null)
@@ -95,7 +96,8 @@ namespace PARR.AIHITSyncer.Services
logger.LogInformation($"----- Создан узел: {host.Id} -----");
return await hostService.GetHostWithAppsAsync(host.IP);
//return await hostService.GetHostWithAppsByIpAsync(host.IP);
return await hostService.GetHostWithAppsByEkAsync(host.Ek);
}
@@ -137,9 +139,9 @@ namespace PARR.AIHITSyncer.Services
{
var applications = new List<Application>();
if (objFromQuery.APPType != null)
if (objFromQuery.APP != null)
{
var appList = objFromQuery.APPType.Split(new char[] { ',', ';' }).Distinct().ToList();
var appList = objFromQuery.APP.Split(new char[] { ',', ';' }).Distinct().ToList();
foreach (var app in appList)
{
var created = await CreateAppIfNotExistAsync(app, ApplicationTypesEnum.APP);
@@ -147,9 +149,9 @@ namespace PARR.AIHITSyncer.Services
applications.Add(created);
}
}
if (objFromQuery.DBType != null)
if (objFromQuery.DB != null)
{
var appList = objFromQuery.DBType.Split(new char[] { ',', ';' }).Distinct().ToList();
var appList = objFromQuery.DB.Split(new char[] { ',', ';' }).Distinct().ToList();
foreach (var app in appList)
{
var created = await CreateAppIfNotExistAsync(app, ApplicationTypesEnum.DB);
@@ -157,9 +159,49 @@ namespace PARR.AIHITSyncer.Services
applications.Add(created);
}
}
if (objFromQuery.OSType != null)
if (objFromQuery.CKBS != null)
{
var appList = objFromQuery.OSType.Split(new char[] { ',', ';' }).Distinct().ToList();
var appList = objFromQuery.CKBS.Split(new char[] { ',', ';' }).Distinct().ToList();
foreach (var app in appList)
{
var created = await CreateAppIfNotExistAsync(app, ApplicationTypesEnum.CKBS);
if (created != null)
applications.Add(created);
}
}
if (objFromQuery.IB != null)
{
var appList = objFromQuery.IB.Split(new char[] { ',', ';' }).Distinct().ToList();
foreach (var app in appList)
{
var created = await CreateAppIfNotExistAsync(app, ApplicationTypesEnum.IB);
if (created != null)
applications.Add(created);
}
}
if (objFromQuery.SI != null)
{
var appList = objFromQuery.SI.Split(new char[] { ',', ';' }).Distinct().ToList();
foreach (var app in appList)
{
var created = await CreateAppIfNotExistAsync(app, ApplicationTypesEnum.SI);
if (created != null)
applications.Add(created);
}
}
if (objFromQuery.SM != null)
{
var appList = objFromQuery.SM.Split(new char[] { ',', ';' }).Distinct().ToList();
foreach (var app in appList)
{
var created = await CreateAppIfNotExistAsync(app, ApplicationTypesEnum.SM);
if (created != null)
applications.Add(created);
}
}
if (objFromQuery.OS != null)
{
var appList = objFromQuery.OS.Split(new char[] { ',', ';' }).Distinct().ToList();
foreach (var app in appList)
{
var created = await CreateAppIfNotExistAsync(app, ApplicationTypesEnum.OS);