Exemple #1
0
 internal void ValidateReferenceParameter(string parameterName, object propertyKey, ValidateRecipientWithBaseObjectDelegate <TDataObject> validateRecipient)
 {
     if (base.Fields.IsModified(propertyKey))
     {
         ADRecipient recipient;
         if (this.recipientDictionary.TryGetValue(propertyKey, out recipient))
         {
             this.ReferenceErrorReporter.ValidateReference(parameterName, this.parameterDictionary[recipient].RawIdentity, delegate(Task.ErrorLoggerDelegate writeError)
             {
                 validateRecipient(this.DataObject, recipient, writeError);
             });
         }
     }
 }
Exemple #2
0
 internal void ValidateReferenceParameter(ADPropertyDefinition propertyKey, ValidateRecipientWithBaseObjectDelegate <TDataObject> validateRecipient)
 {
     this.ValidateReferenceParameter(propertyKey.Name, propertyKey, validateRecipient);
 }
Exemple #3
0
 internal void ValidateReferenceParameter(string propertyKey, ValidateRecipientWithBaseObjectDelegate <TDataObject> validateRecipient)
 {
     this.ValidateReferenceParameter(propertyKey, propertyKey, validateRecipient);
 }
Exemple #4
0
 internal void ValidateMultiReferenceParameter(string parameterName, object propertyKey, ValidateRecipientWithBaseObjectDelegate <TDataObject> validateRecipient)
 {
     if (base.Fields.IsModified(propertyKey))
     {
         SyncTaskHelper.ValidateModifiedMultiReferenceParameter <TDataObject>(parameterName, propertyKey, this.DataObject, validateRecipient, this.ReferenceErrorReporter, this.recipientsDictionary, this.parameterDictionary);
     }
 }
Exemple #5
0
 public static ValidateRecipientWithBaseObjectDelegate <TDataObject> ValidateWithBaseObjectBypassADUser <TDataObject>(ValidateRecipientWithBaseObjectDelegate <TDataObject> validateRecipient)
 {
     return(delegate(TDataObject baseObject, ADRecipient recipient, Task.ErrorLoggerDelegate writeError)
     {
         if (recipient.RecipientType == RecipientType.User)
         {
             return;
         }
         validateRecipient(baseObject, recipient, writeError);
     });
 }
Exemple #6
0
        internal static void ValidateModifiedMultiReferenceParameter <TDataObject>(string parameterName, object propertyKey, TDataObject targetObject, ValidateRecipientWithBaseObjectDelegate <TDataObject> validateRecipient, IReferenceErrorReporter referenceErrorReporter, Dictionary <object, MultiValuedProperty <ADRecipient> > recipientsDictionary, Dictionary <ADRecipient, IIdentityParameter> parameterDictionary) where TDataObject : ADObject
        {
            MultiValuedProperty <ADRecipient> multiValuedProperty;

            if (recipientsDictionary.TryGetValue(propertyKey, out multiValuedProperty))
            {
                using (MultiValuedProperty <ADRecipient> .Enumerator enumerator = multiValuedProperty.GetEnumerator())
                {
                    while (enumerator.MoveNext())
                    {
                        ADRecipient recipient = enumerator.Current;
                        referenceErrorReporter.ValidateReference(parameterName, parameterDictionary[recipient].RawIdentity, delegate(Task.ErrorLoggerDelegate writeError)
                        {
                            validateRecipient(targetObject, recipient, writeError);
                        });
                    }
                }
            }
        }