From 33ee82db03169aad1eb6cae6163917867c6bf4d1 Mon Sep 17 00:00:00 2001 From: ypermitin Date: Mon, 8 Jan 2024 14:32:12 +0500 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B5=D0=B1=D0=BE=D0=BB=D1=8C=D1=88?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=83=D0=BB=D1=83=D1=87=D1=88=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - При начальной установке теперь выполняется подбор версии с ссылкой на полный дистрибутив ФИАС - Очистка кода --- .../JobItems/ActualizeFIASVersionHistoryJob.cs | 15 +++++++++++---- .../JobItems/InstallAndUpdateFIASJob.cs | 2 +- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/Libs/YPermitin.FIASToolSet.Jobs/JobItems/ActualizeFIASVersionHistoryJob.cs b/Libs/YPermitin.FIASToolSet.Jobs/JobItems/ActualizeFIASVersionHistoryJob.cs index 0926351..7a1567a 100644 --- a/Libs/YPermitin.FIASToolSet.Jobs/JobItems/ActualizeFIASVersionHistoryJob.cs +++ b/Libs/YPermitin.FIASToolSet.Jobs/JobItems/ActualizeFIASVersionHistoryJob.cs @@ -48,10 +48,17 @@ public async Task Execute(IJobExecutionContext context) IReadOnlyList fiasVersionHistory; if (lastVersion == null) { - fiasVersionHistory = new List() - { - await fiasDistributionBrowser.GetLastDistributionInfo() - }.AsReadOnly(); + // Не найдено предыдущей версии ФИАС в базе данных. Поэтому добавляем информации начиная с той версии, + // с которой есть ссылка на полный дистрибутив ФИАС + var allFiasVersionHistory = await fiasDistributionBrowser.GetAllDistributionInfo(); + var firstVersionWithCompleteUrl = allFiasVersionHistory + .Where(e => !string.IsNullOrEmpty(e.GARFIASXml.Complete.GetAbsoluteUri())) + .Max(e => e.VersionId); + fiasVersionHistory = allFiasVersionHistory + .Where(e => e.VersionId >= firstVersionWithCompleteUrl) + .OrderBy(e => e.VersionId) + .ToList() + .AsReadOnly(); } else { diff --git a/Libs/YPermitin.FIASToolSet.Jobs/JobItems/InstallAndUpdateFIASJob.cs b/Libs/YPermitin.FIASToolSet.Jobs/JobItems/InstallAndUpdateFIASJob.cs index bc933de..947677e 100644 --- a/Libs/YPermitin.FIASToolSet.Jobs/JobItems/InstallAndUpdateFIASJob.cs +++ b/Libs/YPermitin.FIASToolSet.Jobs/JobItems/InstallAndUpdateFIASJob.cs @@ -521,7 +521,7 @@ await loader.DownloadAndExtractDistribution(args => while (tasksToRun.Count > 0 || tasksIsRunning.Count > 0) { // Запускаем задачи для заполнения пула активных задач - while (tasksIsRunning.Count < _maxParallelTasks && tasksToRun.Count > 0) + while (tasksIsRunning.Count < _maxParallelTasks && !tasksToRun.IsEmpty) { try {