|
@@ -51,7 +51,9 @@ namespace InABox.Mobile
|
|
|
{
|
|
|
readonly MultiQuery _query = new();
|
|
|
|
|
|
- protected Func<Filter<TEntity>> BaseFilter { get; set; }
|
|
|
+ protected Func<Filter<TEntity>> Filter { get; set; }
|
|
|
+
|
|
|
+ protected virtual Filter<TEntity> BaseFilter() => null;
|
|
|
|
|
|
public IModelHost Host { get; set; }
|
|
|
|
|
@@ -60,7 +62,7 @@ namespace InABox.Mobile
|
|
|
public String FileName { get; set; }
|
|
|
|
|
|
|
|
|
- protected CoreRepository(IModelHost host, Func<Filter<TEntity>> baseFilter)
|
|
|
+ protected CoreRepository(IModelHost host, Func<Filter<TEntity>> filter)
|
|
|
{
|
|
|
_items = new CoreObservableCollection<TItem>();
|
|
|
BindingBase.EnableCollectionSynchronization(_items, null,
|
|
@@ -75,7 +77,7 @@ namespace InABox.Mobile
|
|
|
|
|
|
Reset();
|
|
|
Host = host;
|
|
|
- BaseFilter = baseFilter;
|
|
|
+ Filter = filter;
|
|
|
}
|
|
|
|
|
|
#region INotifyPropertyChanged
|
|
@@ -140,7 +142,8 @@ namespace InABox.Mobile
|
|
|
protected Filter<TEntity> EffectiveFilter()
|
|
|
{
|
|
|
var filters = new Filters<TEntity>();
|
|
|
- filters.Add(BaseFilter?.Invoke());
|
|
|
+ filters.Add(BaseFilter());
|
|
|
+ filters.Add(Filter?.Invoke());
|
|
|
filters.Add(SelectedFilter);
|
|
|
var result = filters.Combine();
|
|
|
return result;
|