public virtual IEnumerable<ISearchParameter> GetParameters()
{
var parameters = new List<ISearchParameter>();
PropertyInfo[] properties = GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public);
foreach (PropertyInfo property in properties)
{
foreach (SearchAttribute search in property.GetCustomAttributes(typeof(SearchAttribute), false))
{
search.Value = property.GetValue(this, null);
if (search.Value != null && (search.IncludeWhenEmpty || !PropertyHelper.IsEmpty(search.Value)))
{
parameters.Add(search);
}
}
}
return parameters;
}