Пример #1
0
        public virtual void SetAttributeValues(Guid objectGuid, IEnumerable <KeyValuePair <string, List <byte[]> > > attributes)
        {
            if (this.connection == null)
            {
                throw new InvalidOperationException("AD connection has not been initialized");
            }
            ModifyRequest modifyRequest = new ModifyRequest();

            modifyRequest.DistinguishedName = EhfADAdapter.CreateDNForObjectGuid(objectGuid);
            foreach (KeyValuePair <string, List <byte[]> > keyValuePair in attributes)
            {
                DirectoryAttributeModification directoryAttributeModification = new DirectoryAttributeModification();
                directoryAttributeModification.Operation = DirectoryAttributeOperation.Replace;
                directoryAttributeModification.Name      = keyValuePair.Key;
                if (keyValuePair.Value != null && keyValuePair.Value.Count > 0)
                {
                    foreach (byte[] value in keyValuePair.Value)
                    {
                        directoryAttributeModification.Add(value);
                    }
                }
                modifyRequest.Modifications.Add(directoryAttributeModification);
            }
            this.connection.SendRequest(modifyRequest);
        }
Пример #2
0
        public virtual void SetAttributeValues(Guid objectGuid, IEnumerable <KeyValuePair <string, object> > attributes)
        {
            if (this.connection == null)
            {
                throw new InvalidOperationException("AD connection has not been initialized");
            }
            ModifyRequest modifyRequest = new ModifyRequest();

            modifyRequest.DistinguishedName = EhfADAdapter.CreateDNForObjectGuid(objectGuid);
            foreach (KeyValuePair <string, object> keyValuePair in attributes)
            {
                DirectoryAttributeModification directoryAttributeModification = new DirectoryAttributeModification();
                directoryAttributeModification.Operation = DirectoryAttributeOperation.Replace;
                directoryAttributeModification.Name      = keyValuePair.Key;
                if (keyValuePair.Value != null)
                {
                    string text = keyValuePair.Value as string;
                    if (text != null)
                    {
                        directoryAttributeModification.Add(text);
                    }
                    else
                    {
                        byte[] array = keyValuePair.Value as byte[];
                        if (array == null)
                        {
                            throw new ArgumentException("Value of the attribute should be of type String or Byte[]", "attributesAndValues");
                        }
                        directoryAttributeModification.Add(array);
                    }
                }
                modifyRequest.Modifications.Add(directoryAttributeModification);
            }
            this.connection.SendRequest(modifyRequest);
        }
Пример #3
0
        public virtual void SetAttributeValues(Guid objectGuid, string attrName, object[] values)
        {
            if (this.connection == null)
            {
                throw new InvalidOperationException("AD connection has not been initialized");
            }
            string        distinguishedName = EhfADAdapter.CreateDNForObjectGuid(objectGuid);
            ModifyRequest request;

            if (values != null && values.Length > 0)
            {
                request = new ModifyRequest(distinguishedName, DirectoryAttributeOperation.Replace, attrName, values);
            }
            else
            {
                request = new ModifyRequest(distinguishedName, DirectoryAttributeOperation.Replace, attrName, new object[0]);
            }
            this.connection.SendRequest(request);
        }
Пример #4
0
 public virtual void SetAttributeValue(Guid objectGuid, string attrName, object value)
 {
     this.SetAttributeValue(EhfADAdapter.CreateDNForObjectGuid(objectGuid), attrName, value);
 }
Пример #5
0
 public virtual ExSearchResultEntry ReadObjectEntry(Guid objectGuid, bool readDeleted, params string[] attrNames)
 {
     return(this.ReadObjectEntry(EhfADAdapter.CreateDNForObjectGuid(objectGuid), readDeleted, attrNames));
 }