﻿CREATE FUNCTION dbo.GetFeriale (@InputDate DATE)
RETURNS DATE
AS
BEGIN
    DECLARE @NextWorkingDay DATE = @InputDate;
    -- Controllo se il giorno è festivo o weekend
    WHILE EXISTS (
        SELECT 1 
        FROM Holidays 
        WHERE HolidayDate = @NextWorkingDay
    )
    OR DATEPART(WEEKDAY, @NextWorkingDay) IN (1, 7) -- 1 = Domenica, 7 = Sabato
    BEGIN
        -- Se è festivo o weekend, passa al giorno successivo
        SET @NextWorkingDay = DATEADD(DAY, 1, @NextWorkingDay);
    END
    RETURN @NextWorkingDay;
END;