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 })); }
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)); }