def registrarForum(dados): aluno = consultaAluno(dados["ra"]) forum = consultaForum(dados["ForumId"]) if not aluno: raise Exception("Aluno nao encontrado.") if not forum: raise Exception("Forum nao encontrado.") if not 'foruns' in aluno.keys(): aluno['foruns'] = [] if not 'alunos' in forum.keys(): forum['alunos'] = [] if dados["ra"] in forum['alunos']: raise Exception("Aluno ja esta no forum.") if dados["ForumId"] in aluno['foruns']: raise Exception("Aluno ja esta no forum.") forum['alunos'].append(dados["ra"]) aluno['foruns'].append(dados["ForumId"]) return True
def excluiNotificacao(id, ra): aluno = consultaAluno(ra) notificacao = lerNotificacaoPorId(id) if not aluno: raise Exception("Aluno não encontrada") if not notificacao: raise Exception("Notificacao não encontrada") notificacoes.remove(notificacao) return True
def consultarAluno(ra): aluno = consultaAluno(ra) if aluno: Resposta["Status"] = "Sucesso" Resposta["Dados"] = aluno Resposta["Mensagem"] = "Consulta de Alunos" return jsonify(Resposta) Resposta["Status"] = "Error" Resposta["Dados"] = {} Resposta["Mensagem"] = "Aluno nao encontrado" return jsonify(Resposta)
def arquivarNotificacao(id, ra): aluno = consultaAluno(ra) notifica = lerNotificacaoPorId(id) if not aluno: raise Exception("Aluno não encontrada") if not notifica: raise Exception("Notificacao não encontrada") for notificacao in notificacoes: if notificacao['id'] == notifica['id']: if notificacoes['status'] == "Arquivado": raise Exception("Notificacao já está Arquivada") notificacao['status'] = "Arquivado" return notificacoes return None
def cadastrarAluno(aluno): if consultaAluno(aluno["ra"]): raise Exception("Aluno existe com esse RA") alunos.append(aluno) return aluno
def criarForum(Forum): aluno = consultaAluno(Forum["OwnerId"]) if not aluno: raise Exception("Aluno nao encontrado") foruns.append(Forum) return Forum
def gravarNotificacao(Notificacao): aluno = consultaAluno(Notificacao["aluno"]) if not aluno: raise Exception("Aluno nao encontrado") notificacoes.append(Notificacao) return Notificacao