Files
parr_api/PARR.API/Validators/WeekendRequestValidator.cs

30 lines
946 B
C#

using FluentValidation;
using Microsoft.EntityFrameworkCore;
using PARR.API.Contracts.V1.Requests;
using PARR.DAL.Services.Interfaces;
namespace PARR.API.Validators
{
public class WeekendRequestValidator : AbstractValidator<WeekendRequest>
{
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<bool> IsEmptyAsync(DateOnly date)
{
var exist = await weekendDayService.Get().FirstOrDefaultAsync(t => t.Date == date);
if (exist == null)
return true;
return false;
}
}
}