public ActionResult Create(GroupModel model) { var roles = GetForeignData(); ViewBag.Data_Roles = roles; if (ModelState.IsValid) { try { Group gps = new Group(); gps.Name = model.Name; gps.Description = model.Description; var rolesArray = model.Roles.Split(',').Select(x => Convert.ToInt32(x)); var RoleList = DB_Service.Set<Roles>().Where(x => rolesArray.Contains(x.ID)); gps.Roles.AddRange(RoleList); DB_Service.Add<Group>(gps); DB_Service.Commit(); return RedirectToAction("index"); } catch (Exception ex) { ViewBag.Message = ex.Message; return View(model); } } else { return View(model); } }
public ActionResult Edit(int id) { GroupModel gpm = new GroupModel(); Group gps = new Group(); gps = DB_Service.Set<Group>().Include(x => x.Roles).Single(x => x.GroupID == id); gpm.ID = gps.GroupID; gpm.Name = gps.Name; gpm.Description = gps.Description; List<int> RolesList = new List<int>(); RolesList = gps.Roles.Select(x => x.ID).ToList(); var roles = GetForeignData(RolesList); ViewBag.Data_RolesList = roles; return View(gpm); }