Exemplo n.º 1
0
        public async Task <GetAccountsQueryResult> Handle(GetAccountsQuery request, CancellationToken cancellationToken)
        {
            var result =
                await _accountsApiClient.GetAll <GetUserAccountsResponse>(new GetUserAccountsRequest(request.UserId));


            var returnList = new List <AccountUser>();

            foreach (var account in result)
            {
                var teamMember = await _accountsApiClient.GetAll <GetAccountTeamMembersResponse>(new GetAccountTeamMembersRequest(account.EncodedAccountId));

                var member = teamMember.FirstOrDefault(c => c.UserRef.Equals(request.UserId, StringComparison.CurrentCultureIgnoreCase));

                if (member != null)
                {
                    returnList.Add(new AccountUser
                    {
                        Role             = member.Role,
                        DasAccountName   = account.DasAccountName,
                        EncodedAccountId = account.EncodedAccountId
                    });
                }
            }


            return(new GetAccountsQueryResult
            {
                UserAccountResponse = returnList
            });
        }
Exemplo n.º 2
0
        public async Task <GetUserAccountsQueryResult> Handle(GetUserAccountsQuery request, CancellationToken cancellationToken)
        {
            var response = await _apiClient.GetAll <GetAccountsByUserResponse>(new GetAccountsByUserRequest(request.UserId));

            if (response == null)
            {
                return(new GetUserAccountsQueryResult());
            }

            return(new GetUserAccountsQueryResult
            {
                HashedAccountIds = response.Select(c => c.HashedAccountId).ToList()
            });
        }
        public async Task <GetAccountLegalEntitiesQueryResult> Handle(GetAccountLegalEntitiesQuery request, CancellationToken cancellationToken)
        {
            var response =
                await _apiClient.GetAll <GetAccountLegalEntityResponseItem>(
                    new GetAccountLegalEntitiesRequest(request.HashedAccountId));

            if (response == null)
            {
                return(new GetAccountLegalEntitiesQueryResult());
            }

            return(new GetAccountLegalEntitiesQueryResult
            {
                AccountLegalEntities = response.ToList()
            });
        }
Exemplo n.º 4
0
        public async Task <GetTransferValidityQueryResult> Handle(GetTransferValidityQuery request, CancellationToken cancellationToken)
        {
            if (request.PledgeApplicationId.HasValue)
            {
                var pledgeApplicationRequest = new GetPledgeApplicationRequest(request.PledgeApplicationId.Value);
                var pledgeApplication        = await _levyTransferMatchingApiClient.Get <GetPledgeApplicationResponse>(pledgeApplicationRequest);

                return(new GetTransferValidityQueryResult
                {
                    IsValid = pledgeApplication.Status == PledgeApplicationAcceptedStatus
                });
            }

            var apiRequest  = new GetTransferConnectionsRequest(request.ReceiverId);
            var connections = await _accountsApiClient.GetAll <TransferConnection>(apiRequest);

            return(new GetTransferValidityQueryResult
            {
                IsValid = connections.Any(x => x.FundingEmployerAccountId == request.SenderId)
            });
        }