public ActionResult Create(ActividadHorasSociale actividad) { var actiporcarrera = (from c in dc.Carreras select c); if (ModelState.IsValid) { try { dc.ActividadHorasSociales.InsertOnSubmit(actividad); dc.SubmitChanges(); string[] carreras = Request.Form["checkboxCarreras"].ToString().Split(','); foreach (var value in carreras) { if (value != "false") { int idCarrera = Convert.ToInt32(value); ActividadSocialCarrera ac = new ActividadSocialCarrera(); ac.idActividad = actividad.idactividad; ac.idCarrera = idCarrera; dc.ActividadSocialCarreras.InsertOnSubmit(ac); } } dc.SubmitChanges(); return RedirectToAction("Index"); } catch { ViewData["carreras"] = actiporcarrera; return View(actividad); } } ViewData["carreras"] = actiporcarrera; return View(actividad); }
public ActionResult Edit(int id, FormCollection collection) { var actividad = (from a in dc.ActividadHorasSociales where a.idactividad == id select a).FirstOrDefault(); try { UpdateModel(actividad); List<int> ids = new List<int>(); string[] carreras = Request.Form["checkboxCarreras"].ToString().Split(','); foreach (var value in carreras) { if (value != "false") { int idCarrera = Convert.ToInt32(value); ids.Add(idCarrera); } } foreach (var value in ids) { var hc = (from h in dc.ActividadSocialCarreras where h.idCarrera == value select h).FirstOrDefault(); if (hc == null) { ActividadSocialCarrera ac = new ActividadSocialCarrera(); ac.idActividad = actividad.idactividad; ac.idCarrera = value; dc.ActividadSocialCarreras.InsertOnSubmit(ac); } } var toBeDeleted = from h in dc.ActividadSocialCarreras where !ids.Contains(h.idCarrera) select h; dc.ActividadSocialCarreras.DeleteAllOnSubmit(toBeDeleted); dc.SubmitChanges(); return RedirectToAction("Index"); } catch { var actiporcarrera = (from c in dc.Carreras select c); ViewData["carreras"] = actiporcarrera; var selected = from c in dc.ActividadSocialCarreras where c.idActividad == id select c.idCarrera; ViewData["selected"] = selected; return View(actividad); } }