feat(api): ApplicationInWorkValidator добававлена валидация уникальности Application+Work
This commit is contained in:
@@ -109,15 +109,6 @@ namespace PARR.API.Controllers.V1
|
||||
if (!resultValidate.IsValid)
|
||||
return BadRequest(new Response(resultValidate.Errors));
|
||||
|
||||
var existSameAiW = await applicationsInWorkService.GetAsync(request.ApplicationId, request.WorkId);
|
||||
|
||||
//TODO: тут спорно, нужна ли эта проверка? Мы же можем создать несколько РР на одно и тоже ПО но с разным расписанием?
|
||||
//к тому же, в методе update, такой проверки нет!
|
||||
if (existSameAiW != null)
|
||||
return BadRequest(new Response(false, new List<ErrorModel> {
|
||||
new ErrorModel { Message = $"Уже существует задание на выполнение работ для программного обеспечения id({request.ApplicationId}) и работой id({request.WorkId})." } }
|
||||
));
|
||||
|
||||
var applicationInWork = new ApplicationsInWork
|
||||
{
|
||||
Id = Guid.NewGuid(),
|
||||
@@ -135,15 +126,15 @@ namespace PARR.API.Controllers.V1
|
||||
};
|
||||
|
||||
//Добавляем настройки планировщика
|
||||
foreach (var esppSchValue in request.Schedule)
|
||||
request.Schedule.ForEach(item =>
|
||||
{
|
||||
applicationInWork.EsppSchValues.Add(new EsppSchValue
|
||||
{
|
||||
ApplicationsInWorkId = applicationInWork.Id,
|
||||
TypeConfigId = esppSchValue.TypeConfigId,
|
||||
TypeValueId = esppSchValue.TypeValueId
|
||||
TypeConfigId = item.TypeConfigId,
|
||||
TypeValueId = item.TypeValueId
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
if (!await applicationsInWorkService.CreateAsync(applicationInWork) || !await applicationsInWorkService.CommitAsync())
|
||||
return BadRequest(new Response(false, new List<ErrorModel> { new ErrorModel { Message = "Ошибка при созании задания на выполнение работ" } }));
|
||||
|
||||
Reference in New Issue
Block a user