feat(dal, templateDistributor): шаблон для templateDistributor
This commit is contained in:
8
PARR.TemplateDistributor/IMqTemplateDistributor.cs
Normal file
8
PARR.TemplateDistributor/IMqTemplateDistributor.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace PARR.TemplateDistributor
|
||||
{
|
||||
public interface IMqTemplateDistributor
|
||||
{
|
||||
void Start();
|
||||
void Stop();
|
||||
}
|
||||
}
|
||||
6
PARR.TemplateDistributor/ITemplateDistributor.cs
Normal file
6
PARR.TemplateDistributor/ITemplateDistributor.cs
Normal file
@@ -0,0 +1,6 @@
|
||||
namespace PARR.TemplateDistributor
|
||||
{
|
||||
public interface ITemplateDistributor
|
||||
{
|
||||
}
|
||||
}
|
||||
9
PARR.TemplateDistributor/MqTemplateDistributor.cs
Normal file
9
PARR.TemplateDistributor/MqTemplateDistributor.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace PARR.TemplateDistributor
|
||||
{
|
||||
internal class MqTemplateDistributor : IMqTemplateDistributor
|
||||
{
|
||||
public void Start() { }
|
||||
|
||||
public void Stop() { }
|
||||
}
|
||||
}
|
||||
39
PARR.TemplateDistributor/TemplateDistributor.cs
Normal file
39
PARR.TemplateDistributor/TemplateDistributor.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using PARR.DAL.Models;
|
||||
using PARR.DAL.Services.Interfaces;
|
||||
|
||||
namespace PARR.TemplateDistributor
|
||||
{
|
||||
internal class TemplateDistributor : ITemplateDistributor
|
||||
{
|
||||
private readonly IApplicationsInWorkService applicationsInWorkService;
|
||||
|
||||
public TemplateDistributor(IApplicationsInWorkService applicationsInWorkService)
|
||||
{
|
||||
this.applicationsInWorkService = applicationsInWorkService;
|
||||
}
|
||||
|
||||
|
||||
//TODO: AppInWorkId - перераспределение, очередь
|
||||
//public async Task
|
||||
// распределить?
|
||||
// не распределить, NextRun = appInWork.ReferenceDate
|
||||
|
||||
|
||||
public async Task<List<Template>> DistributeTemplateForPeriodAsync(List<Template> templates, Guid applicationInWorkId)
|
||||
{
|
||||
//TODO: ЗАГУЛШКА переделать!
|
||||
|
||||
var appInWork = await applicationsInWorkService.Get().FirstOrDefaultAsync(t => t.Id == applicationInWorkId);
|
||||
if (appInWork == null)
|
||||
{
|
||||
throw new Exception("ERROROORORO!!!");
|
||||
}
|
||||
|
||||
|
||||
templates.ForEach(t => t.NextRun = appInWork.ReferenceDate);
|
||||
|
||||
return templates;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,8 @@ namespace PARR.TemplateDistributor
|
||||
configuration.GetSection(nameof(MqSettings)).Bind(mqSettings);
|
||||
services.AddSingleton(mqSettings);
|
||||
|
||||
//services.AddTransient<ITemplateSyncer, TemplateMQSyncer>();
|
||||
services.AddTransient<ITemplateDistributor, TemplateDistributor>();
|
||||
services.AddTransient<IMqTemplateDistributor, MqTemplateDistributor>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user