Disco.Services.Interop.ActiveDirectory.ADDomainController.RetrieveADObject C# (CSharp) Method

RetrieveADObject() public method

public RetrieveADObject ( string Id, bool Quick, string AdditionalProperties = null ) : IADObject
Id string
Quick bool
AdditionalProperties string
return IADObject
        public IADObject RetrieveADObject(string Id, bool Quick, string[] AdditionalProperties = null)
        {
            var result = RetrieveBySamAccountName(Id, ObjectLdapSamAccountNameFilter, ObjectLoadPropertiesAll);

            if (result == null)
                return null;
            else
            {
                var objectCategory = result.Value<string>("objectCategory");
                objectCategory = objectCategory.Substring(0, objectCategory.IndexOf(',')).ToLower();
                switch (objectCategory)
                {
                    case "cn=person":
                        return result.AsADUserAccount(Quick, AdditionalProperties);
                    case "cn=computer":
                        return result.AsADMachineAccount(AdditionalProperties);
                    case "cn=group":
                        return result.AsADGroup(AdditionalProperties);
                    default:
                        throw new InvalidOperationException("Unexpected objectCategory");
                }
            }
        }
        #endregion