public ActionResult SalvarSugestao(SugerirViewModel viewModel) { var periodos = new List<Dominio.Aconselhador.Periodo>(); if (!string.IsNullOrEmpty(viewModel.Restricoes)) { periodos = Dominio.Aconselhador.Periodo.IdentificaPeriodos(viewModel.Restricoes.Split(',')); } var aconselhador = new AconselhadorModel(HttpContext, User.Identity.Name, periodos); var matricula = aconselhador.GetMatricula(); var aluno = ctx.Alunos.FirstOrDefault(o => o.Matricula == User.Identity.Name); if (aluno != null) { aluno.Grade = new GradeMatricula(); var disciplinas = matricula.GetDisciplinas(); foreach (var disciplina in disciplinas) { var cadeira = new Cadeira { CodCred = disciplina.CodCred, Nome = disciplina.Nome }; if (disciplina.TurmaSelecionada != null) { cadeira.Turma = disciplina.TurmaSelecionada.Numero; cadeira.Periodos = disciplina.TurmaSelecionada.Periodos.Select(o => new Periodo() { DiaSemana = o.DiaSemana, Horario = o.Horario }).ToList(); } aluno.Grade.Disciplinas.Add(cadeira); } ctx.SaveChanges(); } return RedirectToAction("Index", "Aluno"); }
public ActionResult ExcluirSugestao(SugerirViewModel viewModel) { var usuario = ctx.Alunos.ToList().FirstOrDefault(o => o.Matricula == User.Identity.Name); if (usuario != null) { using (var c = ctx.Database.BeginTransaction()) { foreach (var item in usuario.Grade.Disciplinas) { ctx.Periodos.RemoveRange(item.Periodos); } ctx.Cadeiras.RemoveRange(usuario.Grade.Disciplinas); ctx.Matriculas.Remove(usuario.Grade); usuario.Grade = null; ctx.SaveChanges(); c.Commit(); } } return RedirectToAction("Index", "Aluno"); }
public ActionResult SugerirMatricula(SugerirViewModel viewModel) { var periodos = new List<Dominio.Aconselhador.Periodo>(); if (!string.IsNullOrEmpty(viewModel.Restricoes)) { periodos = Dominio.Aconselhador.Periodo.IdentificaPeriodos(viewModel.Restricoes.Split(',')); } var aconselhador = new AconselhadorModel(HttpContext, User.Identity.Name, periodos); viewModel.Matricula = aconselhador.GetMatricula(); return View(viewModel); }