private bool ADObjectPostCommitFSRoutine(ADFactory <T> .DirectoryOperation operation, T instance, ADParameterSet parameters, ADObject directoryObj) { bool hasValue; if (operation != ADFactory <T> .DirectoryOperation.Create || !base.PropertyHasChange(ADObjectFactory <T> .ADObjectPropertyMap.ProtectedFromDeletion.PropertyName, instance, parameters, operation)) { if (operation != ADFactory <T> .DirectoryOperation.Create || !ProtectedFromDeletionUtil.ShouldProtectByDefault(directoryObj.ObjectClass)) { return(false); } else { return(ProtectedFromDeletionUtil.ProtectFromAccidentalDeletion(directoryObj, base.CmdletSessionInfo)); } } else { bool?singleValueProperty = base.GetSingleValueProperty <bool?>(ADObjectFactory <T> .ADObjectPropertyMap.ProtectedFromDeletion.PropertyName, instance, parameters, operation); if (singleValueProperty.HasValue) { bool?nullable = singleValueProperty; if (!nullable.GetValueOrDefault()) { hasValue = false; } else { hasValue = nullable.HasValue; } if (!hasValue) { return(ProtectedFromDeletionUtil.UnprotectFromAccidentalDeletion(directoryObj, base.CmdletSessionInfo)); } else { return(ProtectedFromDeletionUtil.ProtectFromAccidentalDeletion(directoryObj, base.CmdletSessionInfo)); } } else { return(false); } } }
internal static bool UnprotectFromAccidentalDeletion(ADObject directoryObj, ADSessionInfo sessionInfo) { return(ProtectedFromDeletionUtil.UnprotectFromAccidentalDeletion(directoryObj, ProtectedFromDeletionUtil.BuildCmdletSessionInfo(sessionInfo))); }