using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using xModels.Base; namespace xPushService.Interfaces { public interface IXBaseEntityHub where TEntity : XBaseEntity { /// /// Notify a New Entity added ... /// /// /// /// Task Add( TEntity entity, CancellationToken cancellationToken = default ); /// /// Notify a New Entity added ... /// /// /// /// Task AddOrUpdate( TEntity entity, CancellationToken cancellationToken = default ); /// /// Notify Add Many Entities ... /// /// /// /// Task AddMany( IEnumerable entities, CancellationToken cancellationToken = default ); /// /// Notify an Entity Deleted ... /// /// /// /// Task Delete( TEntity entity, CancellationToken cancellationToken = default ); /// /// Notify Delete Many Entities ... /// /// /// /// Task DeleteMany( IEnumerable entities, CancellationToken cancellationToken = default ); /// /// Notify an Entity Updated ... /// /// /// /// Task Update( TEntity entity, CancellationToken cancellationToken = default ); /// /// Notify Update Many Entities ... /// /// /// /// Task UpdateMany( IEnumerable entities, CancellationToken cancellationToken = default ); } }