private void RegistraFrequenciaPorDisciplina(string turmaId, string disciplinaId, DateTime dataAtual, int totalAulasNaDisciplina, string codigoAluno)
        {
            var ausenciasAlunoPorDisciplina = repositorioRegistroAusenciaAluno.ObterTotalAusenciasPorAlunoETurma(dataAtual, codigoAluno, disciplinaId, turmaId);

            if (ausenciasAlunoPorDisciplina != null)
            {
                var totalCompensacoesDisciplinaAluno = repositorioCompensacaoAusenciaAluno.ObterTotalCompensacoesPorAlunoETurma(ausenciasAlunoPorDisciplina.Bimestre, codigoAluno, disciplinaId, turmaId);
                var frequenciaAluno = MapearFrequenciaAluno(codigoAluno,
                                                            turmaId,
                                                            disciplinaId,
                                                            ausenciasAlunoPorDisciplina.PeriodoEscolarId,
                                                            ausenciasAlunoPorDisciplina.PeriodoInicio,
                                                            ausenciasAlunoPorDisciplina.PeriodoFim,
                                                            ausenciasAlunoPorDisciplina.Bimestre,
                                                            ausenciasAlunoPorDisciplina.TotalAusencias,
                                                            totalAulasNaDisciplina,
                                                            totalCompensacoesDisciplinaAluno,
                                                            TipoFrequenciaAluno.PorDisciplina);

                if (frequenciaAluno.TotalAusencias > 0)
                {
                    repositorioFrequenciaAlunoDisciplinaPeriodo.Salvar(frequenciaAluno);
                }
                else
                if (frequenciaAluno.Id > 0)
                {
                    repositorioFrequenciaAlunoDisciplinaPeriodo.Remover(frequenciaAluno);
                }
            }
            else
            {
                var frequenciaAluno = repositorioFrequenciaAlunoDisciplinaPeriodo.ObterPorAlunoData(codigoAluno, dataAtual, TipoFrequenciaAluno.PorDisciplina, disciplinaId);

                if (frequenciaAluno != null)
                {
                    repositorioFrequenciaAlunoDisciplinaPeriodo.Remover(frequenciaAluno);
                }
            }
        }
Exemple #2
0
        private void RegistraFrequenciaGeral(string turmaId, DateTime dataAtual, string codigoAluno, int totalAulasDaTurma)
        {
            var totalAusenciasGeralAluno = repositorioRegistroAusenciaAluno.ObterTotalAusenciasPorAlunoETurma(dataAtual, codigoAluno, string.Empty, turmaId);

            if (totalAusenciasGeralAluno != null)
            {
                var totalCompensacoesGeralAluno = repositorioCompensacaoAusenciaAluno.ObterTotalCompensacoesPorAlunoETurma(totalAusenciasGeralAluno.Bimestre, codigoAluno, string.Empty, turmaId);
                var frequenciaGeralAluno        = MapearFrequenciaAluno(codigoAluno,
                                                                        turmaId,
                                                                        string.Empty,
                                                                        totalAusenciasGeralAluno.PeriodoInicio,
                                                                        totalAusenciasGeralAluno.PeriodoFim,
                                                                        totalAusenciasGeralAluno.Bimestre,
                                                                        totalAusenciasGeralAluno.TotalAusencias,
                                                                        totalAulasDaTurma,
                                                                        totalCompensacoesGeralAluno,
                                                                        TipoFrequenciaAluno.Geral);

                if (frequenciaGeralAluno.PercentualFrequencia < 100)
                {
                    repositorioFrequenciaAlunoDisciplinaPeriodo.Salvar(frequenciaGeralAluno);
                }
                else
                if (frequenciaGeralAluno.Id > 0)
                {
                    repositorioFrequenciaAlunoDisciplinaPeriodo.Remover(frequenciaGeralAluno);
                }
            }
            else
            {
                var frequenciaAluno = repositorioFrequenciaAlunoDisciplinaPeriodo.ObterPorAlunoData(codigoAluno, dataAtual, TipoFrequenciaAluno.Geral);

                if (frequenciaAluno != null)
                {
                    repositorioFrequenciaAlunoDisciplinaPeriodo.Remover(frequenciaAluno);
                }
            }
        }