using FluentValidation;

namespace Indotalent.Features.Inventory.TransferOut.Cqrs;

public class UpdateTransferOutValidator : AbstractValidator<UpdateTransferOutRequest>
{
    public UpdateTransferOutValidator()
    {
        RuleFor(x => x.Id).NotEmpty();
        RuleFor(x => x.WarehouseFromId).NotEmpty().WithMessage("Source warehouse is required");
        RuleFor(x => x.WarehouseToId).NotEmpty().WithMessage("Destination warehouse is required")
            .NotEqual(x => x.WarehouseFromId).WithMessage("Source and Destination warehouse cannot be the same");
    }
}