public async Task <AccountAccessContentResult> Handle(AddAccountAccessContentCommand request, CancellationToken cancellationToken)
        {
            var risk = request.Risk == null ? string.Empty : request.Risk.ToString();
            var accountAccessConsent = AccountAccessConsentAggregate.Create(request.Data.Permissions, request.Data.ExpirationDateTime, request.Data.TransactionFromDateTime, request.Data.TransactionToDateTime, risk);
            await _commandRepository.Commit(accountAccessConsent, cancellationToken);

            var url = $"{request.Issuer}/{Constants.RouteNames.AccountAccessContents}/{accountAccessConsent.AggregateId}";

            return(AccountAccessContentResult.ToDto(accountAccessConsent, url, 1));
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="event"></param>
 public void Handle(StockCreatedEvent @event)
 {
     _commandRepository.Insert(new Infrastructure.Model.Stock()
     {
         ID          = @event.Id,
         StockType   = @event.StockType,
         Up          = @event.Up,
         Down        = @event.Down,
         StockChange = @event.StockChange
     });
     _commandRepository.Commit();
     _interProcessBus.SendMessage("OrderCreatedEvent");
 }
        public void Handle(Command command)
        {
            _commandRepository.Add(command);
            _commandRepository.Commit();

            _validator.Validate(command);

            command.Execute();

            if (!_validator.HasValidations())
            {
                _eventBus.Dispatch();
                _uoW.Commit();
            }
        }
        public async Task <bool> Handle(RejectAccountAccessConsentCommand request, CancellationToken cancellationToken)
        {
            var accountAccessConsent = _commandRepository.GetLastAggregate <AccountAccessConsentAggregate>(request.ConsentId);

            if (accountAccessConsent == null)
            {
                _logger.LogError($"Access Access Consent '{request.ConsentId}' doesn't exist");
                throw new UnknownAccountAccessConsentException(string.Format(Global.UnknownAccountAccessConsent, request.ConsentId));
            }

            accountAccessConsent.Reject();
            await _commandRepository.Commit(accountAccessConsent, cancellationToken);

            return(true);
        }
        public async Task <AccountAccessContentResult> Handle(AddAccountAccessContentCommand request, CancellationToken cancellationToken)
        {
            var risk  = request.Risk == null ? string.Empty : request.Risk.ToString();
            var token = await _tokenRepository.Get(request.Token, cancellationToken);

            if (token == null)
            {
                _logger.LogError($"Access token '{request.Token}' is invalid or has been revoked");
                throw new UnauthorizedException(string.Format(Global.AccessTokenInvalid, token));
            }

            var accountAccessConsent = AccountAccessConsentAggregate.Create(token.ClientId, request.Data.Permissions, request.Data.ExpirationDateTime, request.Data.TransactionFromDateTime, request.Data.TransactionToDateTime, risk);
            await _commandRepository.Commit(accountAccessConsent, cancellationToken);

            var url = $"{request.Issuer}/{Constants.RouteNames.AccountAccessContents}/{accountAccessConsent.AggregateId}";

            return(AccountAccessContentResult.ToDto(accountAccessConsent, url, 1));
        }