private async Task <bool> ValidarFrequenciaBaseNacionalAluno(string alunoCodigo, string turmaCodigo) { var parametroFrequenciaBaseNacional = double.Parse(await mediator.Send(new ObterValorParametroSistemaTipoEAnoQuery(TipoParametroSistema.PercentualFrequenciaCriticoBaseNacional, DateTime.Today.Year))); var componentesCurriculares = await servicoEOL.ObterDisciplinasPorCodigoTurma(turmaCodigo); // Filtra componentes da Base Nacional var componentesCurricularesBaseNacional = componentesCurriculares.Where(c => c.BaseNacional); foreach (var componenteCurricular in componentesCurricularesBaseNacional) { var frequenciaGeralComponente = await consultasFrequencia.ObterFrequenciaGeralAluno(alunoCodigo, turmaCodigo, componenteCurricular.CodigoComponenteCurricular.ToString()); if (frequenciaGeralComponente < parametroFrequenciaBaseNacional) { return(false); } } return(true); }
public async Task <IActionResult> ObterFrequenciaGeralAluno(string alunoCodigo, string turmaCodigo, [FromServices] IConsultasFrequencia consultasFrequencia) => Ok(await consultasFrequencia.ObterFrequenciaGeralAluno(alunoCodigo, turmaCodigo));