コード例 #1
0
        public TransactionLookupResponse TransactionLookup(TransactionLookupRequest tranLookupRequest)
        {
            var agent    = AuthIntegration.GetAgent();
            var response = _agentConnect.TransactionLookup(agent, tranLookupRequest);

            CheckFlagsForDataChange(response.Payload?.Flags, agent);
            return(response);
        }
コード例 #2
0
        public IHttpActionResult TransactionLookup([FromBody] TransactionLookupRequest transactionLookupRequest)
        {
            transactionLookupRequest.PurposeOfLookup = PurposeOfLookup.Status;

            var detailLookupRespVm = _commonBusiness.TransactionLookup(transactionLookupRequest);

            return(Ok(detailLookupRespVm));
        }
コード例 #3
0
ファイル: ReceiveData.cs プロジェクト: war-man/Agentworks_API
 private void Init()
 {
     ReceiveValidationResponses = new List <ReceiveValidationResponse>();
     ReceiveValidationRequests  = new List <ReceiveValidationRequest>();
     TransactionLookupRequest   = new TransactionLookupRequest();
     TransactionLookupResponse  = new TransactionLookupResponse();
     CompleteSessionRequest     = new CompleteSessionRequest();
     CompleteSessionResponse    = new CompleteSessionResponse();
 }
コード例 #4
0
        public TransactionLookupResponse TransactionLookup(TransactionLookupRequest req)
        {
            var agent = _agents.GetAgent(req.AgentID, req.AgentSequence);

            _agentConnectConfig.DecorateRequest(req);
            var response = _testRunner.AgentConnect.TransactionLookup(agent, req);

            return(response);
        }
コード例 #5
0
 public override TransactionLookupResponse TransactionLookup(Agent agent, TransactionLookupRequest transactionLookupRequest)
 {
     if (agent.IsInTrainingMode)
     {
         return(_traingModeRepository.MockTransactionLookupResponse(
                    transactionLookupRequest.ReferenceNumber ?? transactionLookupRequest.ConfirmationNumber, transactionLookupRequest.PurposeOfLookup));
     }
     return(base.TransactionLookup(agent, transactionLookupRequest));
 }
コード例 #6
0
        public IHttpActionResult TransactionLookup([FromBody] TransactionLookupRequest transactionLookupRequest)
        {
            transactionLookupRequest.ThrowIfNull(nameof(transactionLookupRequest));
            transactionLookupRequest.PurposeOfLookup = PurposeOfLookup.SendCompletion;
            var transactionLookupResponse = _commonBusiness.TransactionLookup(transactionLookupRequest);

            // If transactional limit is exceeded, it will throw an exception
            _commonBusiness.ExceedsTransactionalLimit(SessionType.SEND, transactionLookupResponse?.ResponseData?.Payload?.SendAmounts?.SendAmount ?? 0m);
            return(Ok(transactionLookupResponse));
        }
コード例 #7
0
        public IHttpActionResult TransactionLookup([FromBody] TransactionLookupRequest transactionLookupRequest)
        {
            // Create request view model
            transactionLookupRequest.ThrowIfNull(nameof(transactionLookupRequest));
            transactionLookupRequest.PurposeOfLookup = PurposeOfLookup.BillPayCompletion;

            var transactionLookupResponse = _commonBusiness.TransactionLookup(transactionLookupRequest);

            _commonBusiness.ExceedsTransactionalLimit(SessionType.BP, transactionLookupResponse?.ResponseData?.Payload?.SendAmounts?.SendAmount ?? 0m);
            return(Ok(transactionLookupResponse));
        }
コード例 #8
0
        public AcApiResponse <TransactionLookupResponse, ApiData> TransactionLookup(TransactionLookupRequest req)
        {
            //AgentConnect TransactionLookup call all flows
            var resp = agentConnectIntegration.TransactionLookup(req);

            var apiResp = new AcApiResponse <TransactionLookupResponse, ApiData>
            {
                BusinessMetadata = MapperHelper.SetResponseProperties(resp.Payload?.Flags, DataSource.AgentConnect),
                ResponseData     = resp
            };

            return(apiResp);
        }
コード例 #9
0
ファイル: ReceiveData.cs プロジェクト: war-man/Agentworks_API
 public void Set(TransactionLookupRequest transactionLookupRequest)
 {
     TransactionLookupRequest = transactionLookupRequest;
     SetExecutionOrder(nameof(TransactionLookupRequest));
 }
コード例 #10
0
 public virtual async Task <TransactionLookupResponse> TransactionLookupAsync(Agent agent, TransactionLookupRequest transactionLookupRequest)
 {
     return(await AgentConnect.TransactionLookupAsync(agent, transactionLookupRequest));
 }
コード例 #11
0
 public virtual TransactionLookupResponse TransactionLookup(Agent agent, TransactionLookupRequest transactionLookupRequest)
 {
     return(AgentConnect.TransactionLookup(agent, transactionLookupRequest));
 }
コード例 #12
0
        public AcApiResponse <EditTransferTransactionResponse, ApiData> TransactionLookup(TransactionLookupRequest transactionLookupRequest)
        {
            var respVm      = new EditTransferTransactionResponse();
            var respPayload = new EditTransferTransactionResponsePayload();
            ApiResponse <TransactionLookupResponse, ApiData> respAmend           = null;
            ApiResponse <TransactionLookupResponse, ApiData> respSendReversal    = null;
            ApiResponse <TransactionLookupResponse, ApiData> respReceiveReversal = null;

            int?flags     = null;
            var apiErrors = new Dictionary <string, string>();

            var productAuthorizations = AuthIntegration.GetProductAuthorizations();

            if (productAuthorizations.CanAmend)
            {
                transactionLookupRequest.PurposeOfLookup = PurposeOfLookup.Amend;
                respAmend = ExecuteTransactionLookup(transactionLookupRequest);
                respPayload.AmendTransactionLookupResponse = respAmend;
                if (respAmend.ApiErrors != null)
                {
                    foreach (var errItem in respAmend.ApiErrors)
                    {
                        apiErrors.Add(errItem.Key, errItem.Value);
                    }
                }
            }
            if (productAuthorizations.CanSendReversal)
            {
                transactionLookupRequest.PurposeOfLookup = PurposeOfLookup.SendReversal;
                respSendReversal = ExecuteTransactionLookup(transactionLookupRequest);
                respPayload.SendReversalTransactionLookupResponse = respSendReversal;
                if (respSendReversal.ApiErrors != null)
                {
                    foreach (var errItem in respSendReversal.ApiErrors)
                    {
                        apiErrors.Add(errItem.Key, errItem.Value);
                    }
                }
            }
            if (productAuthorizations.CanReceiveReversal)
            {
                transactionLookupRequest.PurposeOfLookup = PurposeOfLookup.ReceiveReversal;
                respReceiveReversal = ExecuteTransactionLookup(transactionLookupRequest);
                respPayload.ReceiveReversalTransactionLookupResponse = respReceiveReversal;
                if (respReceiveReversal.ApiErrors != null)
                {
                    foreach (var errItem in respReceiveReversal.ApiErrors)
                    {
                        apiErrors.Add(errItem.Key, errItem.Value);
                    }
                }
            }

            //
            if (respAmend?.ResponseData?.Payload == null &&
                respSendReversal?.ResponseData?.Payload == null &&
                respReceiveReversal?.ResponseData?.Payload == null)
            {
                respVm.EditTransferTransactionResponsePayload = null;
                respVm.Errors = new List <BusinessError>();
                if (respAmend?.ResponseData?.Errors != null)
                {
                    respVm.Errors.AddRange(respAmend.ResponseData.Errors);
                }
                if (respSendReversal?.ResponseData?.Errors != null)
                {
                    respVm.Errors.AddRange(respSendReversal.ResponseData.Errors);
                }
                if (respReceiveReversal?.ResponseData?.Errors != null)
                {
                    respVm.Errors.AddRange(respReceiveReversal.ResponseData.Errors);
                }
            }
            else
            {
                respVm.EditTransferTransactionResponsePayload = new EditTransferTransactionResponsePayload();
                respVm.EditTransferTransactionResponsePayload.AmendTransactionLookupResponse           = respAmend;
                respVm.EditTransferTransactionResponsePayload.SendReversalTransactionLookupResponse    = respSendReversal;
                respVm.EditTransferTransactionResponsePayload.ReceiveReversalTransactionLookupResponse = respReceiveReversal;
                respVm.EditTransferTransactionResponsePayload.Flags = flags.GetValueOrDefault();
            }

            var apiResp = new AcApiResponse <EditTransferTransactionResponse, ApiData>
            {
                BusinessMetadata = MapperHelper.SetResponseProperties(flags, DataSource.Lookup),
                ResponseData     = respVm,
                ApiErrors        = apiErrors.Any() ? apiErrors : null
            };

            return(apiResp);
        }
コード例 #13
0
        private AcApiResponse <TransactionLookupResponse, ApiData> ExecuteTransactionLookup(TransactionLookupRequest transactionLookupRequest)
        {
            AcApiResponse <TransactionLookupResponse, ApiData> apiResp = new AcApiResponse <TransactionLookupResponse, ApiData>();

            try
            {
                apiResp = _commonBusiness.TransactionLookup(transactionLookupRequest);
            }
            catch (Exception ex)
            {
                apiResp.ApiErrors = new Dictionary <string, string>();
                apiResp.ApiErrors.Add($"{transactionLookupRequest.PurposeOfLookup} TransactionLookup", ex.Message);
            }

            return(apiResp);
        }