using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.SignalR; using Microsoft.Extensions.Logging; using xCommons.Extensions; using xPushService.Base; using xPushService.Constants; using xStringService.Models.Dtos; namespace xTermsAndConditionsService.Hubs { /// /// a Hub for Notifing Terms and Conditions Events to Connected Clients ... /// public class XTermsHub : XBaseHub { public XTermsHub( ILogger logger ) : base(logger) { } // #region Hub Actions ... /// /// Add Specified Terms and Conditions ... /// /// /// /// public async Task Add( XStringDto entity, CancellationToken cancellationToken = default ) { // var connectionId = Context.ConnectionId; if (!connectionId.IsNullOrEmpty()) { // await Clients .AllExcept(connectionId) .SendAsync( XBaseEntityHubAction.Add.GetStringValue(), entity.ToJSON(camelCase: true), connectionId, cancellationToken ); } } /// /// Deleted Specified Terms and Conditions ... /// /// /// /// public async Task Delete( XStringDto entity, CancellationToken cancellationToken = default ) { // var connectionId = Context.ConnectionId; if (!connectionId.IsNullOrEmpty()) { // await Clients .AllExcept(connectionId) .SendAsync( XBaseEntityHubAction.Delete.GetStringValue(), entity.ToJSON(camelCase: true), connectionId, cancellationToken ); } } /// /// Notify an Entity Updated ... /// /// /// /// public async Task Update( XStringDto entity, CancellationToken cancellationToken = default ) { // var connectionId = Context.ConnectionId; if (!connectionId.IsNullOrEmpty()) { // await Clients .AllExcept(connectionId) .SendAsync( XBaseEntityHubAction.Update.GetStringValue(), entity.ToJSON(camelCase: true), connectionId, cancellationToken ); } } #endregion } }