public ActionResult Update(string key, string json, string code) { try { if (key == Keyapi) { var moduleItem = JsonConvert.DeserializeObject <ModuleUpdateItem>(json); var obj = _da.GetById(moduleItem.ID); var lstActive = _da.GetListActive(); var lsGuiId1 = GetListRole(code); var listRole = lsGuiId1.Select(c => c.RoleId).ToList(); obj.DN_Roles.Clear(); obj.DN_Roles = _da.GetListRolesbyListGuid(listRole); while (obj.DN_Role_ModuleActive.Count > 0) { var item = obj.DN_Role_ModuleActive.FirstOrDefault(); _da.Delete(item); } obj.DN_Role_ModuleActive.Clear(); foreach (var activeitem in obj.DN_Roles.SelectMany(item => lstActive.Select(active => new DN_Role_ModuleActive { ModuleId = obj.ID, RoleId = item.RoleId, ActiveId = active.ID, Active = true, Check = false, AgencyId = Agencyid() }))) { obj.DN_Role_ModuleActive.Add(activeitem); } // quyền cho nhân viên var lsGuiId2 = GetListUser(code); var lstg = lsGuiId2.Select(c => c.UserId).ToList(); obj.DN_Users.Clear(); obj.DN_Users = _da.GetListUserbyListGuid(lstg); while (obj.DN_User_ModuleActive.Count > 0) { var item = obj.DN_User_ModuleActive.FirstOrDefault(); _da.Delete(item); } obj.DN_User_ModuleActive.Clear(); foreach (var activeitem in obj.DN_Users.SelectMany(item => lstActive.Select(active => new DN_User_ModuleActive { ModuleId = obj.ID, UserId = item.UserId, ActiveId = active.ID, Active = true, Check = 1, AgencyId = Agencyid() }))) { obj.DN_User_ModuleActive.Add(activeitem); } _da.Save(); //if (list.Any() || list1.Any()) // _da.DeleteModuleUserRole(moduleItem.ID, string.Join(",", list1), string.Join(",", list)); return(Json(1, JsonRequestBehavior.AllowGet)); } return(Json(0, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(0, JsonRequestBehavior.AllowGet)); } }