예제 #1
0
 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));
        }