Files
xModels/Interfaces/IXBaseStoreEvents.cs
T

30 lines
1.2 KiB
C#

using System;
using System.Collections.Generic;
using xModels.Base;
namespace xModels.Interfaces
{
public interface IXBaseStoreEvents<T, TKey> where T : XBaseStorableDto<TKey>
{
//
void AddEvent(XBaseStorableDtoEventModel<T> model);
void UpdateEvent(XBaseStorableDtoEventModel<T> model);
void RemoveEvent(XBaseStorableDtoEventModel<T> model);
//
void AddManyEvent(XBaseStorableDtoEventModel<IEnumerable<T>> model);
void UpdateManyEvent(XBaseStorableDtoEventModel<IEnumerable<T>> model);
void RemoveManyEvent(XBaseStorableDtoEventModel<IEnumerable<T>> model);
//
IObservable<XBaseStorableDtoEventModel<T>> OnAddObservable { get; }
IObservable<XBaseStorableDtoEventModel<T>> OnUpdateObservable { get; }
IObservable<XBaseStorableDtoEventModel<T>> OnRemoveObservable { get; }
//
IObservable<XBaseStorableDtoEventModel<IEnumerable<T>>> OnAddManyObservable { get; }
IObservable<XBaseStorableDtoEventModel<IEnumerable<T>>> OnUpdateManyObservable { get; }
IObservable<XBaseStorableDtoEventModel<IEnumerable<T>>> OnRemoveManyObservable { get; }
}
}