using FluentValidation; using Microsoft.EntityFrameworkCore; using PARR.API.Contracts.V1.Requests; using PARR.DAL.Services.Interfaces; namespace PARR.API.Validators { public class WeekendRequestValidator : AbstractValidator { private readonly IWeekendDayService weekendDayService; public WeekendRequestValidator(IWeekendDayService weekendDayService) { this.weekendDayService = weekendDayService; RuleFor(t => t.WeekendDate).MustAsync(async (entity, value, c) => await IsEmptyAsync(entity.WeekendDate) ).WithMessage("Данная запись уже существует."); } private async Task IsEmptyAsync(DateOnly date) { var exist = await weekendDayService.Get().FirstOrDefaultAsync(t => t.Date == date); if (exist == null) return true; return false; } } }