mirror of
https://github.com/ckaczor/FeedCenter.git
synced 2026-01-14 09:58:53 -05:00
30 lines
793 B
C#
30 lines
793 B
C#
using Realms;
|
|
using System.Collections.ObjectModel;
|
|
using System.Collections.Specialized;
|
|
|
|
namespace FeedCenter.Data
|
|
{
|
|
public class RealmObservableCollection<T> : ObservableCollection<T> where T : IRealmObject
|
|
{
|
|
private readonly Realm _realm;
|
|
|
|
public RealmObservableCollection(Realm realm) : base(realm.All<T>())
|
|
{
|
|
_realm = realm;
|
|
}
|
|
|
|
protected override void OnCollectionChanged(NotifyCollectionChangedEventArgs e)
|
|
{
|
|
if (e.OldItems != null)
|
|
foreach (T item in e.OldItems)
|
|
_realm.Remove(item);
|
|
|
|
if (e.NewItems != null)
|
|
foreach (T item in e.NewItems)
|
|
_realm.Add(item);
|
|
|
|
base.OnCollectionChanged(e);
|
|
}
|
|
}
|
|
}
|