예제 #1
0
        public IActionResult PostAnotacoes(int aulaId, int alunoId, string anotacoes)
        {
            AnotacaoAula anotacaoAula = _dbContext.AnotacoesAulas
                                        .Where(aa => aa.AlunoId == alunoId)
                                        .Where(aa => aa.AulaId == aulaId)
                                        .SingleOrDefault();

            if (anotacaoAula == null)
            {
                _dbContext.AnotacoesAulas.Add(new AnotacaoAula {
                    AlunoId = alunoId, AulaId = aulaId, Anotacao = anotacoes
                });
            }
            else
            {
                anotacaoAula.Anotacao = anotacoes;
                _dbContext.Update(anotacaoAula);
            }

            _dbContext.SaveChanges();

            return(Ok());
        }
예제 #2
0
        public IActionResult Index(int alunoId, int?cursoId)
        {
            SalaAulaVM salaAulaVM = new SalaAulaVM();

            Matricula matricula = _dbContext.Matriculas.Where(m => m.CursoId == cursoId && m.AlunoId == alunoId).SingleOrDefault();

            Curso curso = _dbContext.Cursos.Find(cursoId);

            IEnumerable <Modulo> modulos = _dbContext.Modulos
                                           .OrderBy(m => m.NumeroModulo)
                                           .Where(m => m.CursoId == cursoId).ToList();

            salaAulaVM.Curso = curso;

            foreach (var modulo in salaAulaVM.Curso.Modulos)
            {
                IEnumerable <Aula> aulas = _dbContext.Aulas.OrderBy(a => a.NumeroAula).Where(a => a.ModuloId == modulo.Id).ToList();
            }

            StatusAulas statusAulas = _dbContext.StatusAulas
                                      .Include(sa => sa.Matricula.Aluno)
                                      .Include(sa => sa.AulasAssistidas)
                                      .Where(sa => sa.MatriculaId == matricula.Id)
                                      .SingleOrDefault();

            if (statusAulas == null)
            {
                int aulaAssistindoId          = salaAulaVM.Curso.Modulos[0].Aulas[0].Id;
                int aulaPodeMarcarAssistidaId = aulaAssistindoId;
                int ultimoModuloLiberado      = salaAulaVM.Curso.Modulos[0].Id;

                StatusAulas sa = new StatusAulas
                {
                    MatriculaId               = matricula.Id,
                    AulaAssistindoId          = aulaAssistindoId,
                    AulaPodeMarcarAssistidaId = aulaPodeMarcarAssistidaId,
                    UltimoModuloLiberadoId    = ultimoModuloLiberado,
                    AulasAssistidas           = new List <AulaAssistida>()
                };

                _dbContext.StatusAulas.Add(sa);
                _dbContext.SaveChanges();

                salaAulaVM.StatusAulas = sa;
            }
            else
            {
                salaAulaVM.StatusAulas = statusAulas;
            }

            foreach (var modulo in salaAulaVM.Curso.Modulos)
            {
                Modulo m = _dbContext.Modulos.Find(salaAulaVM.StatusAulas.UltimoModuloLiberadoId);

                if (m.NumeroModulo >= modulo.NumeroModulo)
                {
                    modulo.Liberado = true;

                    if (salaAulaVM.StatusAulas.AvaliacaoLiberadaId == modulo.AvaliacaoId)
                    {
                        modulo.AvaliacaoLiberada = true;
                    }

                    foreach (var aula in modulo.Aulas)
                    {
                        AulaAssistida aulaAssistida = salaAulaVM.StatusAulas.AulasAssistidas.FirstOrDefault(aa => aa.AulaId == aula.Id);

                        if (aulaAssistida != null)
                        {
                            aula.Assistida = true;
                        }

                        if (aula.Id == salaAulaVM.StatusAulas.AulaAssistindoId)
                        {
                            aula.Assistindo = true;

                            AnotacaoAula anotacaoAula = _dbContext.AnotacoesAulas
                                                        .Where(aa => aa.AulaId == aula.Id && aa.AlunoId == salaAulaVM.StatusAulas.Matricula.AlunoId)
                                                        .FirstOrDefault();

                            if (anotacaoAula != null)
                            {
                                aula.Anotacoes = anotacaoAula.Anotacao;
                            }
                        }

                        if (aula.Id == salaAulaVM.StatusAulas.AulaPodeMarcarAssistidaId)
                        {
                            aula.PodeMarcarAssistida = true;
                        }
                    }
                }
            }

            return(View(salaAulaVM));
        }