コード例 #1
0
ファイル: ProvaController.cs プロジェクト: lalapdv/PSI_SAE
        public async Task <IActionResult> Index()
        {
            var result = await _publicacaoRepository.ListarPublicacoesDoAlunoAsync(IntegrationUserId);

            var avaliacoes = Mapper.Map <List <ProvaPublicadaViewModel> >(result.ToList());

            return(View(avaliacoes));
        }
コード例 #2
0
        public async Task <List <AvaliacaoPublicadaQueryResult> > ListarAvaliacoesPublicadasAsync(string login)
        {
            var aluno = _alunoRepository.ObterPorLogin(login);

            if (aluno == null)
            {
                throw new DomainException("O aluno não foi localizado!");
            }

            var publicacoes = await _publicacaoRepository.ListarPublicacoesDoAlunoAsync(login);

            var retorno = new List <AvaliacaoPublicadaQueryResult>();

            publicacoes.ForEach(x => {
                var prova = x.Avaliacao.Provas.FirstOrDefault(a => a.AlunoId == aluno.Id);

                decimal nota = 0;
                int q        = 0;
                if (prova != null)
                {
                    foreach (var questao in prova.QuestoesProva)
                    {
                        nota = nota + questao.Nota;
                        q++;
                    }
                }
                if (q == 0)
                {
                    q = 1;
                }

                retorno.Add(new AvaliacaoPublicadaQueryResult()
                {
                    AlunoId        = aluno.Id,
                    AvaliacaoId    = x.AvaliacaoId,
                    DataFim        = x.DataFim,
                    DataInicio     = x.DataInicio,
                    DataPublicacao = x.DataPublicacao,
                    Descricao      = x.Avaliacao.Descricao,
                    Disciplina     = x.Avaliacao.Disciplina,
                    Materia        = x.Avaliacao.Materia,
                    ValorProva     = x.ValorProva,
                    PublicacaoId   = x.Id,
                    ProvaId        = prova == null ? (int?)null : prova.Id,
                    DataRealizacao = prova == null ? (DateTime?)null : prova.DataProva,
                    NotaObtida     = x.ValorProva / q * nota//null //TODO - Calcular a nota obtida e retornar nesse atributo.
                });
            });

            return(retorno);
        }