예제 #1
0
        public async Task <IActionResult> PostAvaliacao(Guid alunoId, [FromBody] ResultadoAvaliacaoViewModel resultado)
        {
            var data = DateTime.Now;

            List <Avaliacao> avaliacoes = new List <Avaliacao>();

            foreach (var criterio in resultado.AvaliacoesCriterios)
            {
                avaliacoes.Add(new Avaliacao
                {
                    AvaliadorId = resultado.AvaliadorId,
                    AlunoId     = resultado.AlunoId,
                    GrupoId     = resultado.GrupoId,
                    CriterioId  = criterio.CriterioId,
                    Data        = data,
                    Nota        = criterio.Nota * 2,
                    Tipo        = Avaliacao.EnumTipo.Aluno
                });
            }

            var result = await _avaliacaoService.RealizarAvaliacaoAluno(avaliacoes);

            if (result.IsValid)
            {
                return(Ok(true));
            }

            return(BadRequest(result));
        }
예제 #2
0
        public async Task <IActionResult> PostAvaliacao(Guid grupoId, [FromBody] ResultadoAvaliacaoViewModel resultado)
        {
            var data = DateTime.Now;

            List <Avaliacao> avaliacoes = new List <Avaliacao>();

            foreach (var c in resultado.Criterios)
            {
                var avaliacaoGrupo = c.Avaliacoes.FirstOrDefault(x => x.AvaliadoId == grupoId);

                foreach (var a in c.Avaliacoes.Where(x => x.AvaliadoId != avaliacaoGrupo.AvaliadoId))
                {
                    if (a.Nota == 0)
                    {
                        avaliacoes.Add(new Avaliacao
                        {
                            AvaliadorId = User.GetUserId(),
                            AlunoId     = a.AvaliadoId,
                            GrupoId     = resultado.GrupoId,
                            CriterioId  = c.Id,
                            Data        = data,
                            Nota        = avaliacaoGrupo.Nota * 2,
                            Tipo        = Avaliacao.EnumTipo.Aluno
                        });
                    }
                    else
                    {
                        avaliacoes.Add(new Avaliacao
                        {
                            AvaliadorId = User.GetUserId(),
                            AlunoId     = a.AvaliadoId,
                            GrupoId     = resultado.GrupoId,
                            CriterioId  = c.Id,
                            Data        = data,
                            Nota        = a.Nota * 2,
                            Tipo        = Avaliacao.EnumTipo.Grupo
                        });
                    }
                }
            }

            var result = await _avaliacaoService.RealizarAvaliacao(grupoId, avaliacoes);

            if (result.IsValid)
            {
                return(Ok(true));
            }

            return(BadRequest(result));
        }