public override async Task <CommandResponse> HandleCommand(CreateNotificationCommandModel request, CancellationToken cancellationToken)
        {
            var notification = new Notification(request.Title, request.Summary);

            var notificationUser = new NotificationUser(request.UserId, notification);

            notificationUser.Send();

            await _notificationRepository.CreateNotificationUserAsync(notificationUser);

            await _notificationRepository.Commit();

            //await _hubContext.Clients.All.Notify($"Conta {@event.AccountNumber} criada com sucesso!");

            return(ReplySuccessful());
        }
        public async Task <bool> Handle(BalanceIncreasedIntegrationEvent @event)
        {
            var notification = new Domain.Notification(
                "Depósito efetuado com sucesso!",
                $"Um depósito de R$ {@event.Value} foi efetuado em sua conta!");

            var notificationUser = new NotificationUser(@event.UserId, notification);

            notificationUser.Send();

            await _notificationRepository.CreateNotificationUserAsync(notificationUser);

            await _notificationRepository.Commit();

            await _hubContext.Clients.All.Notify($"Depósito no valor de R$ {@event.Value} efetuado com sucesso!");

            return(true);
        }
        public async Task <bool> Handle(AccountCreatedIntegrationEvent @event)
        {
            var notification = new Not(
                "Conta criada com sucesso!",
                "Parabéns, você concluiu seu cadastro com sucesso! " +
                "Deposite um valor inicial e comece os trabalhos hoje mesmo :)");

            var notificationUser = new NotificationUser(@event.UserId, notification);

            notificationUser.Send();

            await _notificationRepository.CreateNotificationUserAsync(notificationUser);

            await _notificationRepository.Commit();

            await _hubContext.Clients.All.Notify($"Conta {@event.AccountNumber} criada com sucesso!");

            return(true);
        }