/// <summary> /// Validates this trigger. /// </summary> /// <param name="validationLog">The validation log.</param> public override void Validate(IValidationLog validationLog) { base.Validate(validationLog); if (!this.Time.HasValue) { validationLog.AddError("No time set - trigger will not fire"); } }
/// <summary> /// Called when this task is validated. /// </summary> /// <param name="validationLog">The validation log.</param> protected override void OnValidate(IValidationLog validationLog) { base.OnValidate(validationLog); if (string.IsNullOrEmpty(this.ProjectName)) { validationLog.AddError("ProjectName has not been set"); } }
/// <summary> /// Validates this condition. /// </summary> /// <param name="validationLog">The validation log.</param> public override void Validate(IValidationLog validationLog) { base.Validate(validationLog); if (string.IsNullOrEmpty(this.FileName)) { validationLog.AddError("FileName has not been set"); } }
/// <summary> /// Validates this item after it has been loaded. /// </summary> /// <param name="validationLog">The validation log.</param> public virtual void Validate(IValidationLog validationLog) { // Everything must have a name if (string.IsNullOrEmpty(this.Name)) { validationLog.AddError("The {0} has no name specified.", this.ItemType); } }
/// <summary> /// Checks for duplicate items. /// </summary> /// <param name="children">The children.</param> /// <param name="validationLog">The validation log.</param> /// <param name="itemName">Name of the item.</param> public static void CheckForDuplicateItems( IEnumerable<ServerItem> children, IValidationLog validationLog, string itemName) { var childNames = new Dictionary<string, int>(); foreach (var child in children ?? new ServerItem[0]) { UpdateCount(child, childNames); } foreach (var duplicate in childNames.Where(v => v.Value > 1)) { validationLog.AddError("Duplicate {1} name detected: '{0}'", duplicate.Key, itemName); } }
/// <summary> /// Checks for duplicate items. /// </summary> /// <param name="children">The children.</param> /// <param name="validationLog">The validation log.</param> /// <param name="itemName">Name of the item.</param> public static void CheckForDuplicateItems( IEnumerable <ServerItem> children, IValidationLog validationLog, string itemName) { var childNames = new Dictionary <string, int>(); foreach (var child in children ?? new ServerItem[0]) { UpdateCount(child, childNames); } foreach (var duplicate in childNames.Where(v => v.Value > 1)) { validationLog.AddError("Duplicate {1} name detected: '{0}'", duplicate.Key, itemName); } }
/// <summary> /// Validates this server after it has been loaded. /// </summary> /// <param name="validationLog">The validation log.</param> public virtual void Validate(IValidationLog validationLog) { logger.Debug("Validating server '{0}'", this.Name ?? string.Empty); // Everything must have a name if (string.IsNullOrEmpty(this.Name)) { validationLog.AddError("The Server has no name specified."); } // Validate the children foreach (var child in this.Children) { child.Validate(validationLog); } // Check if there are any duplicated children ValidationHelpers.CheckForDuplicateItems(this.Children, validationLog, "child"); var projects = this.Children .SelectMany(c => c.ListProjects()); ValidationHelpers.CheckForDuplicateItems(projects, validationLog, "project"); }