public async Task <IEnumerable <AtividadeAvaliativaExistenteRetornoDto> > ValidarAtividadeAvaliativaExistente(FiltroAtividadeAvaliativaExistenteDto dto) { var retorno = new List <AtividadeAvaliativaExistenteRetornoDto>(); if (dto.AtividadeAvaliativaTurmaDatas != null && dto.AtividadeAvaliativaTurmaDatas.Any()) { foreach (var filtro in dto.AtividadeAvaliativaTurmaDatas) { if (filtro.DisciplinasId.Length <= 0) { throw new NegocioException("É necessário informar a disciplina"); } var disciplina = await ObterDisciplina(Convert.ToInt32(filtro.DisciplinasId[0])); var usuario = await servicoUsuario.ObterUsuarioLogado(); DateTime dataAvaliacao = filtro.DataAvaliacao.Date; var aula = await repositorioAula.ObterAulas(filtro.TurmaId.ToString(), null, usuario.CodigoRf, dataAvaliacao, filtro.DisciplinasId); //verificar se tem para essa atividade if (!aula.Any()) { retorno.Add(new AtividadeAvaliativaExistenteRetornoDto() { Erro = true, Mensagem = "Não existe aula cadastrada para esse data.", TurmaId = filtro.TurmaId }); } else { var tipoCalendarioId = aula.FirstOrDefault().TipoCalendarioId; var perioEscolar = await repositorioPeriodoEscolar.ObterPorTipoCalendarioData(tipoCalendarioId, dataAvaliacao); if (perioEscolar == null) { retorno.Add(new AtividadeAvaliativaExistenteRetornoDto() { Erro = true, Mensagem = "Não existe aula cadastrada para esse data.", TurmaId = filtro.TurmaId }); } else { if (disciplina.Regencia && await repositorioAtividadeAvaliativa.VerificarSeJaExisteAvaliacaoRegencia(dataAvaliacao, null, null, filtro.TurmaId.ToString(), filtro.DisciplinasId, null, usuario.CodigoRf, null)) { retorno.Add(new AtividadeAvaliativaExistenteRetornoDto() { Erro = true, Mensagem = "Já existe atividade avaliativa cadastrada para essa data e disciplina.", TurmaId = filtro.TurmaId }); } else if (await repositorioAtividadeAvaliativa.VerificarSeJaExisteAvaliacaoNaoRegencia(dataAvaliacao, null, null, filtro.TurmaId.ToString(), filtro.DisciplinasId, usuario.CodigoRf, null)) { retorno.Add(new AtividadeAvaliativaExistenteRetornoDto() { Erro = true, Mensagem = "Já existe atividade avaliativa cadastrada para essa data e disciplina.", TurmaId = filtro.TurmaId }); } } } } } return(retorno); }
public async Task <IActionResult> ValidarAtividadeAvaliativaExistente([FromBody] FiltroAtividadeAvaliativaExistenteDto filtro) { return(Ok(await consultaAtividadeAvaliativa.ValidarAtividadeAvaliativaExistente(filtro))); }