feat(dal, api): в таблицах Process, Subprocess, Tnks, Works поле EsppId - уникальное. Обновлены соответсвующе контроллеры (валидация esppId), добавлены методы удаления если нет дочерних элементов.
This commit is contained in:
@@ -5,13 +5,11 @@ namespace PARR.API.Validators
|
||||
{
|
||||
public class ProcessValidator : AbstractValidator<ProcessRequest>
|
||||
{
|
||||
private bool? isValid = null;
|
||||
|
||||
public ProcessValidator()
|
||||
{
|
||||
RuleFor(t => t.Name).NotEmpty().NotNull().WithMessage("Имя процесса не может быть пустым");
|
||||
RuleFor(t => t.Name).NotEmpty().NotNull();
|
||||
|
||||
RuleFor(t => t.EsppId).NotEmpty().NotNull().WithMessage("EsppId не может быть пустым");
|
||||
RuleFor(t => t.EsppId).NotEmpty().NotNull();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,15 +15,15 @@ namespace PARR.API.Validators
|
||||
{
|
||||
this.processService = processService;
|
||||
|
||||
RuleFor(t => t.Name).NotEmpty().NotNull().WithMessage("Имя подпроцесса не может быть пустым");
|
||||
RuleFor(t => t.Name).NotEmpty().NotNull();
|
||||
|
||||
RuleFor(t => t.EsppId).NotEmpty().NotNull().WithMessage("EsppId не может быть пустым");
|
||||
RuleFor(t => t.EsppId).NotEmpty().NotNull();
|
||||
|
||||
RuleFor(t => t.ProcessId).NotEmpty().NotNull().WithMessage("Подпроцесс должна быть связан с процессом. ProcessId не может быть пустым");
|
||||
RuleFor(t => t.ProcessId).NotEmpty().NotNull();
|
||||
|
||||
RuleFor(t => t.ProcessId)
|
||||
.MustAsync(async (entity, value, c) => await IsProcessExist(entity))
|
||||
.WithMessage("У данного подпроцесса указан несуществующий Id процесса");
|
||||
.WithMessage("Указан несуществующий Id процесса");
|
||||
}
|
||||
|
||||
private async Task<bool> IsProcessExist(SubprocessRequest request)
|
||||
|
||||
@@ -15,15 +15,15 @@ namespace PARR.API.Validators
|
||||
{
|
||||
this.subprocessService = subprocessService;
|
||||
|
||||
RuleFor(t => t.Name).NotEmpty().NotNull().WithMessage("Имя ТНК не может быть пустым");
|
||||
RuleFor(t => t.Name).NotEmpty().NotNull();
|
||||
|
||||
RuleFor(t => t.EsppId).NotEmpty().NotNull().WithMessage("EsppId не может быть пустым");
|
||||
|
||||
RuleFor(t => t.SubprocessId).NotEmpty().NotNull().WithMessage("ТНК должна быть связана с подпроцессом. SubprocessId не может быть пустым");
|
||||
RuleFor(t => t.SubprocessId).NotEmpty().NotNull();
|
||||
|
||||
RuleFor(t => t.SubprocessId)
|
||||
.MustAsync(async (entity, value, c) => await IsSubprocessExist(entity))
|
||||
.WithMessage("У данной ТНК указан несуществующий Id подпроцесса");
|
||||
.WithMessage("Указан несуществующий Id подпроцесса");
|
||||
}
|
||||
|
||||
private async Task<bool> IsSubprocessExist(TnkRequest request)
|
||||
|
||||
@@ -16,15 +16,15 @@ namespace PARR.API.Validators
|
||||
{
|
||||
this.tnkService = tnkService;
|
||||
|
||||
RuleFor(t => t.Name).NotEmpty().NotNull().WithMessage("Имя работ не может быть пустым");
|
||||
RuleFor(t => t.Name).NotEmpty().NotNull();
|
||||
|
||||
RuleFor(t => t.EsppId).NotEmpty().NotNull().WithMessage("EsppId не может быть пустым");
|
||||
|
||||
RuleFor(t => t.TnkId).NotEmpty().NotNull().WithMessage("Работа должна быть связана с ТНК. TnkId не может быть пустым");
|
||||
RuleFor(t => t.TnkId).NotEmpty().NotNull();
|
||||
|
||||
RuleFor(t => t.TnkId)
|
||||
.MustAsync(async (entity, value, c) => await IsTnkExist(entity))
|
||||
.WithMessage("У данной работы указан несуществующий Id ТНК");
|
||||
.WithMessage("Указан несуществующий Id ТНК");
|
||||
}
|
||||
|
||||
private async Task<bool> IsTnkExist(WorkRequest request)
|
||||
|
||||
Reference in New Issue
Block a user