Exemple #1
0
        public void Checked(ClientNotificationRequest request, string userContextId)
        {
            var transaction = new ClientNotificationCheckTransaction();

            transactionHelper.ExecuteComplexTransactionalOperation(()
                                                                   => transaction.ExecuteClientNotificationCheckTransaction(request, userContextId), transaction.InstanceRepositories);
        }
Exemple #2
0
        public Task DisconnectUser(ClientNotificationRequest request)
        {
            var connectionId = _clients.FirstOrDefault(i => i.Value.RoomId == request.RoomId &&
                                                       i.Value.UserId == request.UserId).Key;

            return(connectionId.IsNullOrEmpty()
                ? Task.CompletedTask
                : Clients.Client(connectionId).SendAsync(Notifications.DisconnectMember));
        }
        public void ExecuteClientNotificationCheckTransaction(ClientNotificationRequest request, string userContextId)
        {
            var listUnChecked = _clientNotificationRepository.GetUnChecked(request.UserId, request.ApplicationId);

            foreach (var clientNotification in listUnChecked)
            {
                clientNotification.Check();
                clientNotification.PutAudit(userContextId);

                _clientNotificationRepository.Update(clientNotification);
            }
        }
Exemple #4
0
        public Task JoinRoom(ClientNotificationRequest request)
        {
            _clients.TryAdd(Context.ConnectionId, request);

            return(Groups.AddToGroupAsync(Context.ConnectionId, request.RoomId));
        }
Exemple #5
0
 public IEnumerable <ClientNotificationsListResponse> ListVisualized(ClientNotificationRequest request)
 => _clientNotificationRepository.ListVisualized(request.UserId, request.ApplicationId);
Exemple #6
0
 public int CountNotificationsUnchecked(ClientNotificationRequest request)
 => _clientNotificationRepository.CountNotificationsUnchecked(request.UserId, request.ApplicationId);