public IActionResult Novo(Grupo Grupo) { ViewBag.Grupo = Ctx.Grupos; bool[] dias = new bool[] { Grupo.Segunda, Grupo.Terca, Grupo.Quarta, Grupo.Quinta, Grupo.Sexta, Grupo.Sabado, Grupo.Domingo, }; ViewBag.Componente = Ctx.Componentes; if (ModelState.IsValid) { if (Array.IndexOf(dias, true) == -1) { ViewBag.select = "Selecione um ou mais dias!"; return(View("Form", Grupo)); } if (Grupo.Componentes == null || Grupo.Componentes.Count() == 0) { ViewBag.select = "Selecione um ou mais componentes!"; return(View("Form", Grupo)); } if (Grupo.HorarioInicial > Grupo.HorarioFinal) { ViewBag.Horario = "Horário incorreto!"; return(View("Form", Grupo)); } Ctx.Grupos.Add(Grupo); Ctx.SaveChanges(); foreach (int idComponente in Grupo.Componentes) { ComponenteGrupo cg = new ComponenteGrupo(); cg.GrupoId = Grupo.Id; cg.ComponenteId = idComponente; cg.Ativo = true; Ctx.ComponenteGrupos.Add(cg); } Ctx.SaveChanges(); } else { return(View("Form", Grupo)); } return(View("index")); }
public IActionResult Editar(Grupo grupo) { ViewBag.Grupo = Ctx.Grupos; bool[] dias = new bool[] { grupo.Segunda, grupo.Terca, grupo.Quarta, grupo.Quinta, grupo.Sexta, grupo.Sabado, grupo.Domingo, }; ViewBag.Componente = Ctx.Componentes; if (ModelState.IsValid) { if (Array.IndexOf(dias, true) == -1) { ViewBag.select = "Selecione um ou mais dias!"; return(View("Form", grupo)); } if (grupo.Componentes == null || grupo.Componentes.Count() == 0) { ViewBag.select = "Selecione um ou mais componentes!"; return(View("Form", grupo)); } Ctx.Grupos.Update(grupo); Ctx.SaveChanges(); IEnumerable <ComponenteGrupo> cg = Ctx.ComponenteGrupos.Where(a => a.GrupoId == grupo.Id); foreach (ComponenteGrupo componenteg in cg) { Ctx.ComponenteGrupos.Remove(componenteg); } Ctx.SaveChanges(); foreach (int idComponente in grupo.Componentes) { ComponenteGrupo cgg = new ComponenteGrupo(); cgg.GrupoId = grupo.Id; cgg.ComponenteId = idComponente; cgg.Ativo = true; Ctx.ComponenteGrupos.Add(cgg); } Ctx.SaveChanges(); } else { return(View("Form", grupo)); } return(View("index")); }