diff --git a/PARR.BLL/Domain/Mq/TemplateDistributorMq.cs b/PARR.BLL/Domain/Mq/TemplateDistributorMq.cs
new file mode 100644
index 00000000..38bcfd5e
--- /dev/null
+++ b/PARR.BLL/Domain/Mq/TemplateDistributorMq.cs
@@ -0,0 +1,10 @@
+namespace PARR.BLL.Domain.Mq
+{
+ ///
+ /// Модель в MQ, обновления расписаний шаблонов связанных с РР (для TemplateDistributor)
+ ///
+ public class TemplateDistributorMq
+ {
+ public Guid ApplicationInWorkId { get; set; }
+ }
+}
diff --git a/PARR.TemplateDistributor/ITemplateDistributor.cs b/PARR.TemplateDistributor/ITemplateDistributor.cs
index 6d08dda0..ceacc2a3 100644
--- a/PARR.TemplateDistributor/ITemplateDistributor.cs
+++ b/PARR.TemplateDistributor/ITemplateDistributor.cs
@@ -1,6 +1,22 @@
-namespace PARR.TemplateDistributor
+using PARR.DAL.Models;
+
+namespace PARR.TemplateDistributor
{
public interface ITemplateDistributor
{
+ ///
+ /// Формирует расписание запуска для шаблонов относительно одной РР (без сохранения в БД), (реализует оба режима распределения РР)
+ ///
+ ///
+ ///
+ ///
+ Task> DistributeTemplateAsync(List templates, Guid applicationInWorkId);
+
+ ///
+ /// Обновляет расписание запуска шаблонов по РР (сохраняет в БД)
+ ///
+ ///
+ ///
+ Task UpdateScheduleAsync(Guid applicationInWorkId);
}
}
diff --git a/PARR.TemplateDistributor/MqTemplateDistributor.cs b/PARR.TemplateDistributor/MqTemplateDistributor.cs
index 166596f2..2f5dcd35 100644
--- a/PARR.TemplateDistributor/MqTemplateDistributor.cs
+++ b/PARR.TemplateDistributor/MqTemplateDistributor.cs
@@ -2,7 +2,10 @@
{
internal class MqTemplateDistributor : IMqTemplateDistributor
{
- public void Start() { }
+ public void Start() {
+
+ // принимать TemplateDistributorMq
+ }
public void Stop() { }
}
diff --git a/PARR.TemplateDistributor/TemplateDistributor.cs b/PARR.TemplateDistributor/TemplateDistributor.cs
index ddc763cb..1042d371 100644
--- a/PARR.TemplateDistributor/TemplateDistributor.cs
+++ b/PARR.TemplateDistributor/TemplateDistributor.cs
@@ -14,16 +14,23 @@ namespace PARR.TemplateDistributor
}
- //TODO: AppInWorkId - перераспределение, очередь
- //public async Task
- // распределить?
- // не распределить, NextRun = appInWork.ReferenceDate
+ public async Task UpdateScheduleAsync(Guid applicationInWorkId)
+ {
+ // все шаблоны по applicationInWorkId
+ // группирует по РР
+ // -> DistributeTemplateForPeriodAsync
+ // сохранить в БД
+ }
- public async Task> DistributeTemplateForPeriodAsync(List templates, Guid applicationInWorkId)
+
+ public async Task> DistributeTemplateAsync(List templates, Guid applicationInWorkId)
{
//TODO: ЗАГУЛШКА переделать!
+ // распределить?
+ // не распределить, NextRun = appInWork.ReferenceDate
+
var appInWork = await applicationsInWorkService.Get().FirstOrDefaultAsync(t => t.Id == applicationInWorkId);
if (appInWork == null)
{