public DateTime ObterDataDiasUteis(DateTime data, int qtdDias)
        {
            var listaFeriados = _calendarioService.ObterFeriadosNacionais(data.Year)
                                .Where(d => d.Type.ToUpper() == "FERIADO NACIONAL");

            var diasUteis = 0;
            var diaAux    = data.AddDays(0);

            while (diasUteis < qtdDias)
            {
                if (diaAux.DayOfWeek != DayOfWeek.Saturday && diaAux.DayOfWeek != DayOfWeek.Sunday &&
                    !listaFeriados.Any(d => d.Date == diaAux))
                {
                    if (diasUteis == 0)
                    {
                        diaAux = diaAux.AddDays(1);
                    }
                    diasUteis++;
                }

                diaAux = diaAux.AddDays(1);
            }
            while (diasUteis > qtdDias)
            {
                if (diaAux.DayOfWeek != DayOfWeek.Saturday && diaAux.DayOfWeek != DayOfWeek.Sunday &&
                    !listaFeriados.Any(d => d.Date == diaAux))
                {
                    diasUteis--;
                }
                diaAux = diaAux.AddDays(-1);
            }

            return(diaAux);
        }
        public int ObterQuantidadeDiasUteisAposViradaMes()
        {
            var listaFeriados = _calendarioService.ObterFeriadosNacionais(DateTime.Now.Year)
                                .Where(d => d.Type.ToUpper() == "FERIADO NACIONAL");

            var diasUteis = 0;

            var dataAtual = DateTime.Now;
            var mesAtual  = dataAtual.Month;

            DateTime diaAux = dataAtual.AddDays(-1);

            while (diaAux.Month == mesAtual)
            {
                if (diaAux.DayOfWeek != DayOfWeek.Saturday && diaAux.DayOfWeek != DayOfWeek.Sunday && !listaFeriados.Any(d => d.Date == diaAux))
                {
                    diasUteis++;
                }
                diaAux = diaAux.AddDays(-1);
            }

            return(diasUteis);
        }