示例#1
0
        public JsonResult GetStatusCheckAssistida(int aulaId, int matriculaId)
        {
            bool assistida = false;
            bool habilitar = false;

            StatusAulas sa = _dbContext.StatusAulas
                             .Include(sa => sa.AulasAssistidas)
                             .Where(sa => sa.MatriculaId == matriculaId)
                             .SingleOrDefault();

            Matricula matricula = _dbContext.Matriculas.Find(matriculaId);

            if (sa.AulaPodeMarcarAssistidaId == aulaId)
            {
                habilitar = true;
            }

            AulaAssistida aa = sa.AulasAssistidas.Where(aa => aa.AulaId == aulaId && aa.AlunoId == matricula.AlunoId).FirstOrDefault();

            if (aa != null)
            {
                assistida = true;
            }

            return(Json(new { habilitar = habilitar, assistida = assistida }));
        }
示例#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));
        }