feat(api): GeneratorTemplateRequest принимает несколько масок ЭК и статусов ЭК
This commit is contained in:
@@ -17,15 +17,21 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public required string Action { get; set; }
|
public required string Action { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
///// <summary>
|
||||||
/// ЭК, принимает регулярное выражение. Например: *, ВРТ-*-ДВС
|
///// ЭК, принимает регулярное выражение. Например: *, ВРТ-*-ДВС
|
||||||
/// </summary>
|
///// </summary>
|
||||||
public required string Ek { get; set; }
|
//public required string Ek { get; set; }
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Статус ЭК. 0 - все статусы, 1,2,3,4,5,6,7,9
|
/// ЭК, принимает список маск. Например: *, ВРТ-*-ДВС
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int Status { get; set; }
|
public required List<string> Ek { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Список статусов ЭК. 0 - все статусы, 1,2,3,4,5,6,7,9
|
||||||
|
/// </summary>
|
||||||
|
public required List<int> Status { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// При создании, активировать шаблон
|
/// При создании, активировать шаблон
|
||||||
|
|||||||
@@ -46,22 +46,50 @@ namespace PARR.API.Controllers.V1
|
|||||||
if (!resultValidate.IsValid)
|
if (!resultValidate.IsValid)
|
||||||
return BadRequest(new Response(resultValidate.Errors));
|
return BadRequest(new Response(resultValidate.Errors));
|
||||||
|
|
||||||
var obj = new GeneratorTemplateMq
|
var result = true;
|
||||||
|
|
||||||
|
request.Ek.ForEach(ek =>
|
||||||
{
|
{
|
||||||
Action = request.Action,
|
request.Status.ForEach(status =>
|
||||||
ApplicationId = request.ApplicationId,
|
{
|
||||||
Ek = request.Ek,
|
var obj = new GeneratorTemplateMq
|
||||||
WorkId = request.WorkId,
|
{
|
||||||
StatusEk = request.Status,
|
Action = request.Action,
|
||||||
IsActiveTemplate = request.IsActiveTemplate,
|
ApplicationId = request.ApplicationId,
|
||||||
IsActiveSchedule = request.IsActiveSchedule
|
Ek = ek,
|
||||||
};
|
WorkId = request.WorkId,
|
||||||
|
StatusEk = status,
|
||||||
|
IsActiveTemplate = request.IsActiveTemplate,
|
||||||
|
IsActiveSchedule = request.IsActiveSchedule
|
||||||
|
};
|
||||||
|
|
||||||
var msg = JsonSerializer.Serialize(obj);
|
var msg = JsonSerializer.Serialize(obj);
|
||||||
|
|
||||||
var result = mqService.Send(mqSettings.GenerateTemplates, new[] { msg });
|
var _result = mqService.Send(mqSettings.GenerateTemplates, new[] { msg });
|
||||||
|
|
||||||
if (!result.IsSuccess)
|
if (_result.IsSuccess == false)
|
||||||
|
result = false;
|
||||||
|
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
//var obj = new GeneratorTemplateMq
|
||||||
|
//{
|
||||||
|
// Action = request.Action,
|
||||||
|
// ApplicationId = request.ApplicationId,
|
||||||
|
// Ek = request.Ek,
|
||||||
|
// WorkId = request.WorkId,
|
||||||
|
// StatusEk = request.Status,
|
||||||
|
// IsActiveTemplate = request.IsActiveTemplate,
|
||||||
|
// IsActiveSchedule = request.IsActiveSchedule
|
||||||
|
//};
|
||||||
|
|
||||||
|
//var msg = JsonSerializer.Serialize(obj);
|
||||||
|
|
||||||
|
//var result = mqService.Send(mqSettings.GenerateTemplates, new[] { msg });
|
||||||
|
|
||||||
|
//if (!result.IsSuccess)
|
||||||
|
if (!result)
|
||||||
return BadRequest(new Response(false, new List<ErrorModel> { new ErrorModel { Message = $"Ошибка при отправке данных." } }));
|
return BadRequest(new Response(false, new List<ErrorModel> { new ErrorModel { Message = $"Ошибка при отправке данных." } }));
|
||||||
|
|
||||||
var createdUri = uriService.GetAllUri(ApiRoutes.Template.GetAll);
|
var createdUri = uriService.GetAllUri(ApiRoutes.Template.GetAll);
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
using PARR.API.Contracts.V1.Requests;
|
using PARR.API.Contracts.V1.Requests;
|
||||||
using PARR.BLL.Contracts;
|
using PARR.BLL.Contracts;
|
||||||
using PARR.DAL.Services.Interfaces;
|
using PARR.DAL.Services.Interfaces;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace PARR.API.Validators
|
namespace PARR.API.Validators
|
||||||
{
|
{
|
||||||
@@ -32,7 +33,21 @@ namespace PARR.API.Validators
|
|||||||
|
|
||||||
//0 - все статусы, 1,2,3,4,5,6,7,9
|
//0 - все статусы, 1,2,3,4,5,6,7,9
|
||||||
var ekStatuses = new List<int> { 0, 1, 2, 3, 4, 5, 6, 7, 9 };
|
var ekStatuses = new List<int> { 0, 1, 2, 3, 4, 5, 6, 7, 9 };
|
||||||
RuleFor(t => t.Status).Must(t => ekStatuses.Contains(t)).WithMessage("Допустимые значения: 0 - все статусы, 1,2,3,4,5,6,7,9");
|
//RuleFor(t => t.Status).Must(t => ekStatuses.Contains(t)).WithMessage("Допустимые значения: 0 - все статусы, 1,2,3,4,5,6,7,9");
|
||||||
|
RuleFor(t => t.Status).Must((statuses) =>
|
||||||
|
{
|
||||||
|
if (statuses.Count < 1)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
var isContains = true;
|
||||||
|
statuses.ForEach(status =>
|
||||||
|
{
|
||||||
|
if (ekStatuses.Contains(status) == false)
|
||||||
|
isContains = false;
|
||||||
|
});
|
||||||
|
|
||||||
|
return isContains;
|
||||||
|
}).WithMessage("Допустимые значения: 0 - все статусы, 1,2,3,4,5,6,7,9");
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<bool> IsApplicationContainWork(GeneratorTemplateRequest request, Guid applicationId)
|
private async Task<bool> IsApplicationContainWork(GeneratorTemplateRequest request, Guid applicationId)
|
||||||
|
|||||||
Reference in New Issue
Block a user