示例#1
0
        public virtual ValidationError[] ValidateOnly(object objectToBeValidated)
        {
            List <ValidationError> list         = new List <ValidationError>();
            IConfigurable          configurable = this.DataSource as IConfigurable;

            if (configurable != null && (objectToBeValidated == null || configurable == objectToBeValidated))
            {
                ValidationError[] array = configurable.Validate();
                if (array != null)
                {
                    list.AddRange(array);
                }
            }
            if (this.HasDataHandlers)
            {
                foreach (DataHandler dataHandler in this.DataHandlers)
                {
                    if (dataHandler.DataSource != this.DataSource && (objectToBeValidated == null || dataHandler.DataSource == objectToBeValidated))
                    {
                        ValidationError[] array2 = dataHandler.Validate();
                        if (array2 != null)
                        {
                            list.AddRange(array2);
                        }
                    }
                }
            }
            return(list.ToArray());
        }
示例#2
0
        public ValidationError[] Validate(object dataObject)
        {
            IConfigurable configurable = dataObject as IConfigurable;

            if (configurable != null && PSConnectionInfoSingleton.GetInstance().Type != OrganizationType.Cloud)
            {
                return(configurable.Validate());
            }
            return(new ValidationError[0]);
        }
示例#3
0
        protected virtual void ListErrors(IConfigurable cfg)
        {
            string[] errors = cfg.Validate();
            if (0 == errors.Length)
            {
                return;
            }

            EditorGUILayout.HelpBox(
                string.Join("\n\n", errors),
                MessageType.Error
                );
        }
示例#4
0
 protected virtual void WriteResult(IConfigurable dataObject)
 {
     if (dataObject is PagedPositionInfo)
     {
         base.WriteObject(dataObject);
         return;
     }
     TaskLogger.LogEnter(new object[]
     {
         dataObject.Identity,
         dataObject
     });
     if (this.InternalResultSize.IsUnlimited || this.InternalResultSize.Value > this.matchCount)
     {
         ConfigurableObject configurableObject = dataObject as ConfigurableObject;
         if (configurableObject != null)
         {
             configurableObject.InitializeSchema();
         }
         ValidationError[] array = dataObject.Validate();
         base.WriteObject(dataObject);
         if (array != null && array.Length > 0)
         {
             if (dataObject.Identity != null)
             {
                 this.WriteWarning(Strings.ErrorObjectHasValidationErrorsWithId(dataObject.Identity));
             }
             else
             {
                 this.WriteWarning(Strings.ErrorObjectHasValidationErrors);
             }
             foreach (ValidationError validationError in array)
             {
                 this.WriteWarning(validationError.Description);
             }
         }
     }
     else if (this.InternalResultSize.Value == this.matchCount)
     {
         if (this.internalResultSize == null)
         {
             this.WriteWarning(Strings.WarningDefaultResultSizeReached(this.InternalResultSize.Value.ToString()));
         }
         else
         {
             this.WriteWarning(Strings.WarningMoreResultsAvailable);
         }
     }
     this.matchCount += 1U;
     TaskLogger.LogExit();
 }
示例#5
0
        private string CreateErrorMessageForCorruptedObject()
        {
            ADObject adobject = base.Context.DataHandler.DataSource as ADObject;
            string   str;

            if (adobject != null && !string.IsNullOrEmpty(adobject.Name))
            {
                str = Strings.CorruptedObjectErrorMessageObjectName(string.Format("'{0}'", adobject.Name));
            }
            else
            {
                str = Strings.CorruptedObjectErrorMessageNoName;
            }
            LocalizedString localizedString = LocalizedString.Empty;
            IConfigurable   configurable    = base.Context.DataHandler.DataSource as IConfigurable;

            if (configurable != null)
            {
                ValidationError[] array = configurable.Validate();
                List <string>     list  = new List <string>(array.Length);
                foreach (ValidationError validationError in array)
                {
                    PropertyValidationError propertyValidationError = validationError as PropertyValidationError;
                    if (propertyValidationError != null)
                    {
                        string name = propertyValidationError.PropertyDefinition.Name;
                        if (!list.Contains(name))
                        {
                            list.Add(name);
                        }
                    }
                }
                if (list.Count > 0)
                {
                    localizedString = Strings.CorruptedObjectErrorPropertyNames(string.Join(", ", list.ToArray()));
                }
            }
            return(str + Strings.CorruptedObjectErrorMessageBody.ToString() + localizedString.ToString());
        }