private static bool VerifyClaimSourceAndAttributeExclusiveness(ADObject directoryObj, StringBuilder errorBuffer, ADFactory <T> .DirectoryOperation operation) { bool flag; bool flag1; bool flag2 = false; if (directoryObj.ModifiedProperties.Contains("msDS-ClaimSource")) { flag = true; } else { flag = directoryObj.AddedProperties.Contains("msDS-ClaimSource"); } bool flag3 = flag; if (directoryObj.ModifiedProperties.Contains("msDS-ClaimAttributeSource")) { flag1 = true; } else { flag1 = directoryObj.AddedProperties.Contains("msDS-ClaimAttributeSource"); } bool flag4 = flag1; if (directoryObj.Contains("msDS-ClaimSource") && directoryObj.Contains("msDS-ClaimAttributeSource")) { if (operation != ADFactory <T> .DirectoryOperation.Create) { if (!flag3 || !flag4) { if (!flag3) { if (flag4) { directoryObj.ForceRemove("msDS-ClaimSource"); } } else { directoryObj.ForceRemove("msDS-ClaimAttributeSource"); } } else { flag2 = true; errorBuffer.AppendLine(StringResources.SPCTBothSourceWarning); } } else { flag2 = true; errorBuffer.AppendLine(StringResources.SPCTBothSourceWarning); } } return(!flag2); }
private static bool VerifySharesPossibleValueWithAndPossibleValueExclusiveness(ADObject directoryObj, ADFactory <T> .DirectoryOperation operation, StringBuilder errorBuffer) { bool flag; bool flag1 = false; if (directoryObj.ModifiedProperties.Contains("msDS-ClaimSharesPossibleValuesWith")) { flag = true; } else { flag = directoryObj.AddedProperties.Contains("msDS-ClaimSharesPossibleValuesWith"); } bool flag2 = flag; bool flag3 = directoryObj.InternalProperties.Contains("SuggestedValues"); if (directoryObj.Contains("msDS-ClaimSharesPossibleValuesWith") && directoryObj.Contains("msDS-ClaimPossibleValues")) { if (operation != ADFactory <T> .DirectoryOperation.Create) { if (!flag2 || !flag3) { if (!flag2) { if (flag3) { directoryObj.ForceRemove("msDS-ClaimSharesPossibleValuesWith"); } } else { directoryObj.ForceRemove("msDS-ClaimPossibleValues"); } } else { flag1 = true; errorBuffer.AppendLine(StringResources.CTBothPossibleValuesShareValueWarning); } } else { flag1 = true; errorBuffer.AppendLine(StringResources.CTBothPossibleValuesShareValueWarning); } } return(!flag1); }
private bool ADClaimTypePreCommitFSRoutine(ADFactory <T> .DirectoryOperation operation, T instance, ADParameterSet parameters, ADObject directoryObj) { bool classes = true; StringBuilder stringBuilder = new StringBuilder(); if (operation == ADFactory <T> .DirectoryOperation.Create || ADFactory <T> .DirectoryOperation.Update == operation) { bool switchParameterBooleanValue = parameters.GetSwitchParameterBooleanValue("SourceTransformPolicy"); if (switchParameterBooleanValue) { directoryObj.SetValue("msDS-ClaimSourceType", "TransformPolicy"); directoryObj.ForceRemove("msDS-ClaimAttributeSource"); directoryObj.ForceRemove("msDS-ClaimSource"); } classes = classes & ADClaimTypeFactory <T> .VerifyClaimSourceAndAttributeExclusiveness(directoryObj, stringBuilder, operation); classes = classes & ADClaimTypeFactory <T> .VerifyClaimSourceAndPossibleValueExclusiveness(directoryObj, stringBuilder); classes = classes & ADClaimTypeFactory <T> .SetAndValidateClaimSourceType(directoryObj, stringBuilder); classes = classes & ADClaimTypeFactory <T> .VerifyRestrictValues(directoryObj, stringBuilder, base.CmdletSessionInfo, operation); if (directoryObj.Contains("msDS-ClaimValueType")) { ADClaimValueType num = (ADClaimValueType)((long)Convert.ToInt32(directoryObj["msDS-ClaimValueType"].Value, CultureInfo.InvariantCulture)); classes = classes & ADCBACUtil.VerifyAndSetPossibleValues(directoryObj, num, stringBuilder); } classes = classes & ADClaimTypeFactory <T> .VerifyAppliesToClasses(directoryObj, stringBuilder, base.CmdletSessionInfo); if (classes) { return(false); } else { stringBuilder.AppendLine(StringResources.CTParameterValidationFailure); throw new ADException(stringBuilder.ToString()); } } else { return(false); } }