private bool HandleSaveOrUpdate(ContentItem item, string[] propertyNames, object[] state) { if (item == null) { return(false); } bool wasAltered = notifier.NotifySaving(item); for (int i = 0; i < propertyNames.Length; i++) { if (propertyNames[i] == "AncestralTrail") { string trail = Utility.GetTrail(item.Parent); if (trail != (string)state[i]) { state[i] = trail; wasAltered = true; } } if (propertyNames[i] == "AlteredPermissions" && item.AlteredPermissions == N2.Security.Permission.None && item.AuthorizedRoles.Count > 0) { state[i] = N2.Security.Permission.Read; wasAltered = true; } } return(wasAltered); }
public override void SaveOrUpdate(ContentItem entity) { notifier.NotifySaving(entity); if (entity.ID == 0 && entity.Parent != null) { base.SaveOrUpdate(entity); base.SaveOrUpdate(entity.Parent); } else { base.SaveOrUpdate(entity); } }
private bool HandleSaveOrUpdate(ContentItem item, string[] propertyNames, object[] state) { if (item == null) { return(false); } bool wasAltered = notifier.NotifySaving(item); for (int i = 0; i < propertyNames.Length; i++) { if (propertyNames[i] == "AncestralTrail") { string trail = Utility.GetTrail(item.Parent); if (trail != (string)state[i]) { state[i] = trail; wasAltered = true; } } } return(wasAltered); }