/// <summary> /// Gets a list of validation errors for a property. /// </summary> /// <param name="propertyName">The property to check. There are constants for the properties at Foresight.DataAccess.[EntityName].[EntityName]Properties</param> /// <param name="validationGroup">The validation group to validate. There are constants for this value in Foresight.DataAccess.Framework.ValidationGroup</param> /// <returns>the list of errors</returns> public virtual List <ValidationError> GetValidationErrorsByProperty(string propertyName, SqlHelper helper, string validationGroup) { List <ValidationError> validationErrors = new List <ValidationError>(); EntityValidationCancelEventArgs e = new EntityValidationCancelEventArgs(this, helper, propertyName, validationGroup); OnPropertyValidating(this, e); if (!e.Cancel) { System.Type type = this.GetType(); Dictionary <string, ColumnInfo> columns = ColumnInfo.GetColumnInfoLookup(type); ColumnInfo column; if (columns.TryGetValue(propertyName, out column)) { validationErrors.AddRange(GetValidationErrors(type, column, validationGroup)); } OnPropertyValidated(this, new EntityValidationEventArgs(this, helper, propertyName, validationGroup)); } return(validationErrors); }
/// <summary> /// Gets a list of validation errors /// </summary> /// <param name="helper">The current SqlHelper</param> /// <param name="validationGroup">The validation group to validate. There are constants for this value in Foresight.DataAccess.Framework.ValidationGroup</param> /// <returns>the list of errors</returns> public virtual List <ValidationError> GetValidationErrors(SqlHelper helper, string validationGroup) { List <ValidationError> validationErrors = new List <ValidationError>(); EntityValidationCancelEventArgs e = new EntityValidationCancelEventArgs(this, helper, String.Empty, validationGroup); OnEntityValidating(this, e); if (!e.Cancel) { Dictionary <string, PropertyInfo> propertyList = GetPropertyList(ColumnType.DatabaseColumn); foreach (string propertyName in propertyList.Keys) { validationErrors.AddRange(GetValidationErrorsByProperty(propertyName, helper, validationGroup)); } validationErrors.AddRange(GetChildrenValidationErrors()); OnEntityValidated(this, new EntityValidationEventArgs(this, helper, String.Empty, validationGroup)); } return(validationErrors); }