public void DeleteApplicationPermission(zAppDev.DotNet.Framework.Identity.Model.ApplicationPermission applicationpermission, bool doNotCallDeleteForThis = false, bool isCascaded = false, object calledBy = null) { if (applicationpermission == null || applicationpermission.IsTransient()) { return; } if (applicationpermission.Roles.Count > 0) { var cs = new System.Data.ConstraintException("applicationpermission.Roles elements are restricted and cannot be deleted"); cs.Data["Entity"] = "ApplicationPermission"; cs.Data["PropertyName"] = "Roles"; cs.Data["Multiplicity"] = "*"; throw cs; } if (applicationpermission.Users.Count > 0) { var cs = new System.Data.ConstraintException("applicationpermission.Users elements are restricted and cannot be deleted"); cs.Data["Entity"] = "ApplicationPermission"; cs.Data["PropertyName"] = "Users"; cs.Data["Multiplicity"] = "*"; throw cs; } foreach (var toDissasociate in applicationpermission.Operations) { applicationpermission.RemoveOperations(toDissasociate); } if (!doNotCallDeleteForThis) { Delete <zAppDev.DotNet.Framework.Identity.Model.ApplicationPermission>(applicationpermission, isCascaded); } }
/// <summary> /// Returns true if self and the provided entity have the same Id values /// and the Ids are not of the default Id value /// </summary> protected bool HasSameNonDefaultIdAs(ApplicationPermission compareTo) { return(!this.IsTransient() && !compareTo.IsTransient() && this.Id.Equals(compareTo.Id)); }