public ActionResult Group(int id = 0) { using (var db = new Entities()) { var model = new CreateGroupModel(); model.roles = db.asp_Role.Select(x => new RoleData { name = x.name, description = x.description }).ToList(); var data = db.asp_Group.FirstOrDefault(x => x.id == id); if (data != null) { model.id = data.id; model.name = data.name; model.description = data.description; foreach (var item in model.roles) { if (data.asp_Role.Any(x => x.name == item.name)) { item.check = true; } } } return PartialView(model); } }
public ActionResult Group(CreateGroupModel model) { if (ModelState.IsValid) { using (var db = new Entities()) { var data = db.asp_Group.FirstOrDefault(x => x.id == model.id); if (data == null) { data = new asp_Group { name = model.name, description = model.description, status = 0 }; foreach (var item in model.roles) { if (item.check && !data.asp_Role.Any(x => x.name == item.name)) { var roleItem = db.asp_Role.FirstOrDefault(x => x.name == item.name); if (roleItem != null) { data.asp_Role.Add(roleItem); } } else if (!item.check && data.asp_Role.Any(x => x.name == item.name)) { var roleItem = db.asp_Role.FirstOrDefault(x => x.name == item.name); if (roleItem != null) { data.asp_Role.Remove(roleItem); } } } db.asp_Group.Add(data); db.SaveChanges(); TempData["mess"] = "Đã thêm dữ liệu thành công"; } else { data.name = model.name; data.description = model.description; foreach (var item in model.roles) { if (item.check && !data.asp_Role.Any(x => x.name == item.name)) { var roleItem = db.asp_Role.FirstOrDefault(x => x.name == item.name); if (roleItem != null) { data.asp_Role.Add(roleItem); } } else if (!item.check && data.asp_Role.Any(x => x.name == item.name)) { var roleItem = db.asp_Role.FirstOrDefault(x => x.name == item.name); if (roleItem != null) { data.asp_Role.Remove(roleItem); } } } db.SaveChanges(); TempData["mess"] = "Đã cập nhật dữ liệu thành công"; } } } return RedirectToAction("ListGroup", new { id = model.id }); }