public DateTime CalcularFimFeriasFuncionario(Dominio.Funcionario funcionario, DateTime inicio, double dias) { if (funcionario.Servidor) { int contaDias = 1; DateTime dataFim = inicio; FeriadosNegocio feriadosNegocio = new FeriadosNegocio(); var feriados = feriadosNegocio.BuscarFeriados(); var feriadosFixos = feriados.Where(f => f.Anual)?.ToList(); var feriadosMoveis = feriados.Where(f => !f.Anual)?.ToList(); while (contaDias < dias) { dataFim = dataFim.AddDays(1); if (feriadosNegocio.VerificarDiaUtil(dataFim, feriadosFixos, feriadosMoveis)) { contaDias++; } } return(dataFim); } else { //dias corridos return(inicio.AddDays(dias)); } }
//Editar Período de Férias //Remover período de férias public Dominio.Funcionario GetFeriasFuncionario(Dominio.Funcionario funcionario) { var resultadoConsulta = RepositorioFerias.GetFeriasPorFuncionario(funcionario.Identificador); funcionario.PeriodosFerias = resultadoConsulta.Select(f => f.ToFeriasDominio()).ToList(); return(funcionario); }