public static IQuery WithDefault(this IQuery query, IDefaults defaults)
{
if (query is ISiteQuery)
{
((ISiteQuery)query).Site = ((ISiteQuery)query).Site ?? defaults.Site;
}
if (query is IPagedQuery)
{
((IPagedQuery)query).PageSize = ((IPagedQuery)query).PageSize ?? defaults.PageSize;
}
if (query is IFilteredQuery)
{
((IFilteredQuery)query).Filter = ((IFilteredQuery)query).Filter ?? defaults.Filter;
}
return query;
}