public List <DateTime> Execute(DateTime data) { var dataFim = data.AddYears(2); //var query = @" // SELECT f.Data FROM dbo.Feriado f (NOLOCK) // WHERE f.Data BETWEEN @dateInit AND @dateFim"; //using (var conn = DataBaseConnection.GetConnection(true, TimeHelper.CommandTimeOut)) //{ // var result = conn.Query<DateTime>(sql: query, // param: new // { // data, // dataFim // }, // commandTimeout: TimeHelper.CommandTimeOut); // return result; //} var feriados = FeriadoCacheRepository.Listar(); if (feriados.Any()) { var retorno = feriados.Where(c => c.Data >= data && c.Data <= dataFim).Select(c => c.Data).ToList(); return(retorno); } return(null); }
public DateTime ValidarFinalDeSemanaFeriado(DateTime data) { var feriados = FeriadoCacheRepository.Listar(); while (data.DayOfWeek == DayOfWeek.Saturday || data.DayOfWeek == DayOfWeek.Sunday || feriados.Any(x => x.Data.Date == data.Date)) { data = data.AddDays(1); } return(data); }