feat(dal): ITemplateDistributorV2 - метод получения актуального nextRun

This commit is contained in:
Mikhail Trubnikov
2026-02-11 17:01:23 +10:00
parent 7c8f8bbf97
commit e857248142
4 changed files with 679 additions and 33 deletions

View File

@@ -4,6 +4,7 @@ using PARR.DAL.NextRunServices;
using PARR.DAL.NextRunServices.Models;
using PARR.DAL.NextRunServices.Subservices;
using PARR.DAL.Services.Interfaces;
using System.ComponentModel.DataAnnotations;
using System.Threading.Tasks;
namespace PARR.Test.NextRun
@@ -39,11 +40,17 @@ namespace PARR.Test.NextRun
var offset = TimeSpan.FromHours(10);
var startDate = new DateOnly(2026, 2, 10);
var referenceDate = new DateTimeOffset(2026, 2, 10, 4, 0, 0, TimeSpan.Zero);
var referenceDate = new DateTimeOffset(2026, 2, 10, 6, 0, 0, TimeSpan.Zero);
var templates = GetTemplates();
var templatesEmpty = new List<TemplateNextRunDto>();
var distributedTemplates = await templateDistributorV2.DistributeTemplatesAsync(startDate, duration, referenceDate, offset, templates, true);
// распределить шаблоны
//var distributedTemplates = await templateDistributorV2.DistributeTemplatesAsync(startDate, duration, referenceDate, offset, templates, true);
// получить актуальный nextRun
var targetTemplate = new TemplateNextRunDto(Guid.Parse("DA151719-2742-4260-BFFE-012B61591053"), new DateTimeOffset(2026, 2, 14, 5, 0, 0, TimeSpan.Zero));
var validNextRun = await templateDistributorV2.GetNextRunForTemplateAsync(startDate, duration, referenceDate, offset, targetTemplate, templatesEmpty, true, isNew: false);
//var template = await templateService.Get().Include(t => t.Job).ThenInclude(t => t.Group).FirstAsync(t => t.Name == "ЭИТИ-ПАРРКИТВЦ_СХД ТО-1_СХД-AERODISK-432-2-4-U26-EN4SAG022-ГВЦ");