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)); }