コード例 #1
0
        private async Task <FechamentoAluno> MapearParaEntidade(AnotacaoAlunoDto anotacaoAluno)
        {
            var anotacao = await repositorio.ObterFechamentoAluno(anotacaoAluno.FechamentoId, anotacaoAluno.CodigoAluno);

            if (anotacao == null)
            {
                anotacao = new FechamentoAluno()
                {
                    FechamentoTurmaDisciplinaId = anotacaoAluno.FechamentoId,
                    AlunoCodigo = anotacaoAluno.CodigoAluno,
                    Anotacao    = anotacaoAluno.Anotacao
                }
            }
            ;
            else
            {
                anotacao.Anotacao = anotacaoAluno.Anotacao;
            }

            return(anotacao);
        }
コード例 #2
0
        private async Task <FechamentoTurmaDisciplina> TransformarDtoSalvarEmEntidade(FechamentoFinalSalvarDto fechamentoFinalSalvarDto, Turma turma)
        {
            var disciplinaId = fechamentoFinalSalvarDto.EhRegencia ? long.Parse(fechamentoFinalSalvarDto.DisciplinaId) : fechamentoFinalSalvarDto.Itens.First().ComponenteCurricularCodigo;

            FechamentoTurmaDisciplina fechamentoTurmaDisciplina = null;
            var fechamentoFinalTurma = await repositorioFechamentoTurma.ObterPorTurmaPeriodo(turma.Id);

            if (fechamentoFinalTurma == null)
            {
                fechamentoFinalTurma = new FechamentoTurma(0, turma.Id);
            }
            else
            {
                fechamentoTurmaDisciplina = await repositorioFechamentoTurmaDisciplina.ObterFechamentoTurmaDisciplina(fechamentoFinalSalvarDto.TurmaCodigo, disciplinaId);
            }

            if (fechamentoTurmaDisciplina == null)
            {
                fechamentoTurmaDisciplina = new FechamentoTurmaDisciplina()
                {
                    DisciplinaId = disciplinaId, Situacao = SituacaoFechamento.ProcessadoComSucesso
                }
            }
            ;

            fechamentoTurmaDisciplina.FechamentoTurma = fechamentoFinalTurma;

            foreach (var agrupamentoAluno in fechamentoFinalSalvarDto.Itens.GroupBy(a => a.AlunoRf))
            {
                var fechamentoAluno = await repositorioFechamentoAluno.ObterFechamentoAlunoENotas(fechamentoTurmaDisciplina.Id, agrupamentoAluno.Key);

                if (fechamentoAluno == null)
                {
                    fechamentoAluno = new FechamentoAluno()
                    {
                        AlunoCodigo = agrupamentoAluno.Key
                    }
                }
                ;

                foreach (var fechamentoItemDto in agrupamentoAluno)
                {
                    var fechamentoNota = fechamentoAluno.FechamentoNotas.FirstOrDefault(c => c.DisciplinaId == fechamentoItemDto.ComponenteCurricularCodigo);

                    if (fechamentoNota != null)
                    {
                        if (fechamentoItemDto.Nota.HasValue)
                        {
                            if (fechamentoNota.Nota.Value != fechamentoItemDto.Nota.Value)
                            {
                                await mediator.Send(new SalvarHistoricoNotaFechamentoCommand(fechamentoNota.Nota.Value, fechamentoItemDto.Nota.Value, fechamentoNota.Id));
                            }
                        }
                        else
                        if (fechamentoNota.ConceitoId.Value != fechamentoItemDto.ConceitoId.Value)
                        {
                            await mediator.Send(new SalvarHistoricoConceitoFechamentoCommand(fechamentoNota.ConceitoId.Value, fechamentoItemDto.ConceitoId.Value, fechamentoNota.Id));
                        }
                    }

                    MapearParaEntidade(fechamentoNota, fechamentoItemDto, fechamentoAluno);
                }

                fechamentoTurmaDisciplina.FechamentoAlunos.Add(fechamentoAluno);
            }
            return(fechamentoTurmaDisciplina);
        }
コード例 #3
0
 private void MapearParaEntidade(FechamentoNota fechamentoNota, FechamentoFinalSalvarItemDto fechamentoItemDto, FechamentoAluno fechamentoAluno)
 {
     // Verifica se tem nota atribuida para a disciplina
     if (fechamentoNota == null)
     {
         fechamentoNota = new FechamentoNota()
         {
             DisciplinaId = fechamentoItemDto.ComponenteCurricularCodigo,
             Nota         = fechamentoItemDto.Nota,
             ConceitoId   = fechamentoItemDto.ConceitoId,
             // TODO implementar sintese para fechamento final (não tem o atributo no DTO)
             //SinteseId = fechamentoItemDto.sin
         };
         fechamentoAluno.FechamentoNotas.Add(fechamentoNota);
     }
     else
     {
         fechamentoNota.Nota       = fechamentoItemDto.Nota;
         fechamentoNota.ConceitoId = fechamentoItemDto.ConceitoId;
         // TODO implementar sintese para fechamento final (não tem o atributo no DTO)
         //SinteseId = fechamentoItemDto.sin
     }
 }
コード例 #4
0
        private async Task <IEnumerable <FechamentoAluno> > CarregarFechamentoAlunoENota(long fechamentoTurmaDisciplinaId, IEnumerable <FechamentoNotaDto> fechamentoNotasDto)
        {
            var fechamentoAlunos = new List <FechamentoAluno>();

            if (fechamentoTurmaDisciplinaId > 0)
            {
                fechamentoAlunos = (await repositorioFechamentoAluno.ObterPorFechamentoTurmaDisciplina(fechamentoTurmaDisciplinaId)).ToList();
            }

            // Edita as notas existentes
            foreach (var agrupamentoNotasAluno in fechamentoNotasDto.GroupBy(g => g.CodigoAluno))
            {
                // Busca fechamento do aluno
                var fechamentoAluno = fechamentoAlunos.FirstOrDefault(c => c.AlunoCodigo == agrupamentoNotasAluno.Key);
                if (fechamentoAluno == null)
                {
                    fechamentoAluno = new FechamentoAluno()
                    {
                        AlunoCodigo = agrupamentoNotasAluno.Key, FechamentoTurmaDisciplinaId = fechamentoTurmaDisciplinaId
                    }
                }
                ;

                foreach (var fechamentoNotaDto in agrupamentoNotasAluno)
                {
                    // busca nota do aluno
                    var notaFechamento = fechamentoAluno.FechamentoNotas.FirstOrDefault(x => x.DisciplinaId == fechamentoNotaDto.DisciplinaId);
                    if (notaFechamento != null)
                    {
                        if (!EnviarWfAprovacao())
                        {
                            if (fechamentoNotaDto.Nota.HasValue)
                            {
                                if (fechamentoNotaDto.Nota != notaFechamento.Nota)
                                {
                                    await mediator.Send(new SalvarHistoricoNotaFechamentoCommand(notaFechamento.Nota.Value, fechamentoNotaDto.Nota.Value, notaFechamento.Id));
                                }

                                notaFechamento.Nota = fechamentoNotaDto.Nota;
                            }
                            else
                            {
                                if (fechamentoNotaDto.ConceitoId != notaFechamento.ConceitoId)
                                {
                                    await mediator.Send(new SalvarHistoricoConceitoFechamentoCommand(notaFechamento.ConceitoId.Value, fechamentoNotaDto.ConceitoId.Value, notaFechamento.Id));
                                }

                                notaFechamento.ConceitoId = fechamentoNotaDto.ConceitoId;
                            }

                            notaFechamento.SinteseId = fechamentoNotaDto.SinteseId;
                        }
                        else
                        {
                            fechamentoNotaDto.Id = notaFechamento.Id;
                            notasEnvioWfAprovacao.Add(fechamentoNotaDto);
                        }
                    }
                    else
                    {
                        fechamentoAluno.AdicionarNota(MapearParaEntidade(fechamentoNotaDto));
                    }
                }
                fechamentoAlunos.Add(fechamentoAluno);
            }

            return(fechamentoAlunos);
        }