public ActionResult Edit(ViewModelAtividade vmAtividade)
        {
            Atividade atividadeBanco = Collection.FindAtividade(vmAtividade.Atividade.IdAtividade);

            if (atividadeBanco.IsProva)
            {
                List <Questao> questoes = Collection.FindQuestaoByTypeAndActivity(atividadeBanco.IdAtividade, null);
                if (questoes != null)
                {
                    foreach (var questao in questoes)
                    {
                        List <QuestaoRespostaAluno> questaoRespostaAluno = Collection.FindQuestaoRespostaAlunoByQuestao(questao.IdQuestao);
                        if (questaoRespostaAluno != null && questaoRespostaAluno.Count != 0)
                        {
                            return(RedirectToAction("Index"));
                        }
                    }
                }
            }
            Atividade atividade = vmAtividade.Atividade;

            if (Collection.EditAtividade(atividade) != null)
            {
                return(RedirectToAction("Index"));
            }
            return(View(atividade));
        }
        public ActionResult Create(ViewModelAtividade vmAtividade)
        {
            Atividade atividade             = new Atividade();
            List <TurmaDisciplinaAutor> tda = Collection.TurmaDisciplinaAutorList();

            TurmaDisciplinaAutor turmaDisciplinaAutor = tda?.Where(x => x.IdDisciplinaTurma == vmAtividade.IdDisciplinaTurma).FirstOrDefault();

            vmAtividade.IdTurmaDisciplinaAutor = turmaDisciplinaAutor.IdTurmaDisciplinaAutor;
            atividade = Collection.CreateAtividade(vmAtividade.Atividade);

            return(RedirectToAction("Edit", new { id = atividade.IdAtividade }));
        }
        public ActionResult Index()
        {
            List <Atividade>          atividades   = Collection.AtividadeList();
            List <ViewModelAtividade> vmAtividades = new List <ViewModelAtividade>();

            if (atividades == null)
            {
                atividades = new List <Atividade>();
            }
            foreach (var a in atividades)
            {
                ViewModelAtividade vma = new ViewModelAtividade();
                vma.Atividade = a;
                (vma.nome_da_materia, vma.nome_da_turma) = GetNomeTurmaNomeDisciplina(a.IdTurmaDisciplinaAutor);
                vmAtividades.Add(vma);
            }
            return(View(vmAtividades));
        }
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            ViewModelAtividade vmAtividade = new ViewModelAtividade();

            vmAtividade.Atividade = Collection.FindAtividade(id);
            vmAtividade.setPeriodo();

            //Buscando Turma e Disciplina
            TurmaDisciplinaAutor tda = Collection.FindTurmaDisciplinaAutor(vmAtividade.IdTurmaDisciplinaAutor);

            if (tda == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
            }

            DisciplinaTurma dt = Collection.FindDisciplinaTurma(tda.IdDisciplinaTurma);

            if (dt == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
            }

            Turma turma = Collection.FindTurma(dt.IdTurma);

            if (turma == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
            }

            Disciplina disciplina = Collection.FindDisciplina(dt.IdDisciplina);

            if (disciplina == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
            }

            ViewBag.Turma      = turma;
            ViewBag.Disciplina = disciplina;

            //Validações para permissão de edição
            bool edicaoLiberada = true;

            if (vmAtividade.Atividade.IsProva)
            {
                List <Questao> questoes = Collection.FindQuestaoByTypeAndActivity(id, null);
                foreach (var questao in questoes)
                {
                    List <QuestaoRespostaAluno> questaoRespostaAluno = Collection.FindQuestaoRespostaAlunoByQuestao(questao.IdQuestao);
                    if (questaoRespostaAluno != null && questaoRespostaAluno.Count != 0)
                    {
                        edicaoLiberada = false;
                        break;
                    }
                }
            }
            ViewBag.EdicaoLiberada = edicaoLiberada;

            return(View(vmAtividade));
        }