Beispiel #1
0
        private void CompleteSession(ReceiveData receiveData)
        {
            receiveData.ReceiveRequest.PopulateAgentData(receiveData.ReceiveRequest.AgentState);
            var mgiSessionId = receiveData.ReceiveValidationResponses.Last().Payload.MgiSessionID;

            receiveData.Set(CompleteSessionRequestFactory.CompleteRecvRequest(mgiSessionId));
            if (receiveData.Staging)
            {
                receiveData.CompleteSessionRequest.Commit = false;
            }
            receiveData.CompleteSessionRequest.AgentID       = receiveData.ReceiveRequest.AgentId;
            receiveData.CompleteSessionRequest.AgentSequence = receiveData.ReceiveRequest.AgentPos;

            receiveData.Set(AcIntegration.CompleteSession(receiveData.CompleteSessionRequest));
        }
Beispiel #2
0
        private BillPayData CompleteStaged(BillPayData billPayData)
        {
            var mgiSessionId           = billPayData.BillPayValidationResponseList.Last().Payload.MgiSessionID;
            var completeSessionRequest = CompleteSessionRequestFactory.CompleteBillPayRequest(mgiSessionId);

            completeSessionRequest.AgentID       = billPayData.BillPayRequest.AgentId;
            completeSessionRequest.AgentSequence = billPayData.BillPayRequest.AgentPos;
            completeSessionRequest.Commit        = false;
            var completeSessionResponse = _acIntegration.CompleteSession(completeSessionRequest);

            billPayData.Set(completeSessionRequest);
            billPayData.Set(completeSessionResponse);

            return(billPayData);
        }
Beispiel #3
0
        private void CompleteSession(AmendData amendData)
        {
            var mgiSessionId = amendData.ValidationResponses.Last().Payload.MgiSessionID;

            var completeSessionRequest = CompleteSessionRequestFactory.CompleteSendRequest(mgiSessionId);

            completeSessionRequest.AgentID        = amendData.AmendOperationRequest.AgentId;
            completeSessionRequest.MgiSessionType = SessionType.AMD;
            completeSessionRequest.AgentSequence  = amendData.AmendOperationRequest.AgentPos;
            var completeSessionResponse = _acIntegration.CompleteSession(completeSessionRequest);
            var errors = completeSessionResponse.Errors ?? new List <BusinessError>();

            amendData.Set(errors);

            amendData.Set(completeSessionRequest);
            amendData.Set(completeSessionResponse);
        }
        private SendReversalData CompleteSession(SendReversalData sendReversalData)
        {
            var mgiSessionId = sendReversalData.ValidationResponses.Last().Payload.MgiSessionID;

            var completeSessionRequest = CompleteSessionRequestFactory.CompleteSendReversalRequest(mgiSessionId);

            completeSessionRequest.AgentID       = sendReversalData.SendReversalRequest.AgentId;
            completeSessionRequest.AgentSequence = sendReversalData.SendReversalRequest.AgentPos;
            sendReversalData.Set(completeSessionRequest);
            var completeSessionResponse = _acIntegration.CompleteSession(completeSessionRequest);
            var errors = completeSessionResponse.Errors ?? new List <BusinessError>();

            sendReversalData.Set(errors);
            sendReversalData.Set(completeSessionResponse);

            return(sendReversalData);
        }
Beispiel #5
0
        private SendData CompleteSession(SendData sendData, bool staging = false)
        {
            var mgiSessionId = sendData.SendValidationResps.Last().Payload.MgiSessionID;

            var completeSessionRequest = CompleteSessionRequestFactory.CompleteSendRequest(mgiSessionId);

            if (staging)
            {
                completeSessionRequest.Commit = false;
            }
            completeSessionRequest.AgentID       = sendData.SendRequest.AgentId;
            completeSessionRequest.AgentSequence = sendData.SendRequest.AgentPos;
            sendData.Set(completeSessionRequest);
            var completeSessionResponse = _acIntegration.CompleteSession(completeSessionRequest);

            sendData.Set(completeSessionResponse);

            return(sendData);
        }
Beispiel #6
0
        public BillPayData CompleteSession(BillPayData billPayData)
        {
            try
            {
                BillerSearchByCode(billPayData);

                FeeLookup(billPayData);

                if (DataErrorHandler.CheckForNestedErrors(billPayData).Any())
                {
                    return(billPayData);
                }
                // Initial Validate
                _validationOperations.BillPayValidate(billPayData, billPayData.BillPayRequest.Biller, billPayData.BillPayRequest.ThirdPartyType);
                // Final Validate(s)
                _validationOperations.BillPayValidateUntilReadyForCommit(billPayData, billPayData.BillPayRequest.Biller, billPayData.BillPayRequest.ThirdPartyType);

                var mgiSessionId           = billPayData.BillPayValidationResponseList.Last().Payload.MgiSessionID;
                var completeSessionRequest = CompleteSessionRequestFactory.CompleteBillPayRequest(mgiSessionId);
                completeSessionRequest.AgentID       = billPayData.BillPayRequest.AgentId;
                completeSessionRequest.AgentSequence = billPayData.BillPayRequest.AgentPos;
                var completeSessionResponse = _acIntegration.CompleteSession(completeSessionRequest);

                billPayData.Set(completeSessionRequest);
                billPayData.Set(completeSessionResponse);
            }
            catch (AgentConnectException acExp)
            {
                billPayData.Errors.Add(new BusinessError
                {
                    ErrorCategory = "AC Exception",
                    ErrorCode     = acExp.ErrorCode.ToString(),
                    Message       = acExp.Message
                });
            }
            return(billPayData);
        }