/// <summary> /// SEND SendValidation AgentConnect call /// </summary> /// <param name="sendValidationReq">SendValidationRequest Model</param> /// <returns>SendValidationResponse Model</returns> public SendValidationResponse SendValidation(SendValidationRequest sendValidationReq) { var agent = AuthIntegration.GetAgent(); var response = _agentConnect.SendValidation(agent, sendValidationReq); CheckFlagsForDataChange(response.Payload?.Flags, agent); return(response); }
public void Set(SendValidationRequest sendValidationRequest) { var isFirstSet = !SendValidationReqs.Any(); SendValidationReqs.Add(sendValidationRequest); if (isFirstSet) { SetExecutionOrder(nameof(SendValidationReqs)); } }
public override SendValidationResponse SendValidation(Agent agent, SendValidationRequest request) { if (agent.IsInTrainingMode && _traingModeRepository.IsStagedTransaction(SessionType.SEND, request.MgiSessionID)) { bool shouldReturnThermal = !GetProfileItem(agent, UseAgentPrinterKey); return(_traingModeRepository.MockSendValidationResponse(request.MgiSessionID, request.FieldValues, shouldReturnThermal)); } return(base.SendValidation(agent, request)); }
public static SendValidationRequest FromFeeInfo(this SendValidationRequest sendValReq, FeeInfo feeInfo) { sendValReq.MgiSessionID = feeInfo.MgiSessionID; sendValReq.SendAmount = feeInfo.SendAmounts.SendAmount.GetValueOrDefault(); sendValReq.SendCurrency = feeInfo.SendAmounts.SendCurrency; sendValReq.PromoCodes = feeInfo.PromotionInfos?.Select(x => x.PromotionCode).ToList(); sendValReq.DestinationCountry = feeInfo.DestinationCountry; sendValReq.ServiceOption = feeInfo.ServiceOption; sendValReq.ReceiveCurrency = feeInfo.ReceiveAmounts.ReceiveCurrency; if (!string.IsNullOrWhiteSpace(feeInfo.ReceiveAgentID)) { sendValReq.ReceiveAgentID = feeInfo.ReceiveAgentID; } return(sendValReq); }
private static SendValidationRequest MapFieldValues(SendValidationRequest sendValReq, List <KeyValuePairType> populatedFields, List <string> requestedInfoKeys, SendValidationRequest previousRequest, List <string> monitoredListOfFieldsToCollect) { if (populatedFields == null) { return(sendValReq); } // Dont map anything if there is nothing requested. if (!requestedInfoKeys.Any()) { return(sendValReq); } var availableKeys = populatedFields.Select(x => x.InfoKey).ToList(); var keysToMap = availableKeys.Union(requestedInfoKeys); foreach (var key in keysToMap) { if (availableKeys.Contains(key)) { var pairToAdd = populatedFields.Where(k => k.InfoKey == key).FirstOrDefault(); if (!sendValReq.FieldValues.Any(x => x.InfoKey == pairToAdd.InfoKey)) { if (!string.IsNullOrWhiteSpace(pairToAdd.Value)) { sendValReq.FieldValues.Add(pairToAdd); if (monitoredListOfFieldsToCollect != null && monitoredListOfFieldsToCollect.Contains(pairToAdd.InfoKey)) { monitoredListOfFieldsToCollect.Remove(pairToAdd.InfoKey); } } } } } if (previousRequest != null && previousRequest.FieldValues.Any()) { foreach (var keyPair in previousRequest.FieldValues) { if (!sendValReq.FieldValues.Any(x => x.InfoKey == keyPair.InfoKey)) { sendValReq.FieldValues.Add(keyPair); if (monitoredListOfFieldsToCollect != null && monitoredListOfFieldsToCollect.Contains(keyPair.InfoKey)) { monitoredListOfFieldsToCollect.Remove(keyPair.InfoKey); } } } } return(sendValReq); }
public static SendValidationRequest FromFeeLookupRequest(this SendValidationRequest sendValReq, FeeLookupRequest feeLookupRequest, List <string> requestedInfoKeys) { if (!requestedInfoKeys.Any() || !requestedInfoKeys.Contains("destination_Country_SubdivisionCode")) { return(sendValReq); } // Check if it exists, dont want to keep re-adding on each subsequent request. if (sendValReq.FieldValues.Any(x => x.InfoKey == "destination_Country_SubdivisionCode")) { return(sendValReq); } if (string.IsNullOrWhiteSpace(feeLookupRequest.DestinationCountrySubdivisionCode)) { return(sendValReq); } // Explicitly added sendValReq.FieldValues.Add(new KeyValuePairType { InfoKey = "destination_Country_SubdivisionCode", Value = feeLookupRequest.DestinationCountrySubdivisionCode }); return(sendValReq); }
public static SendValidationRequest FromMockData(this SendValidationRequest sendValReq) { sendValReq.FieldValues = sendValReq.FieldValues ?? new List <KeyValuePairType>(); sendValReq.FieldValues.Clear(); //add all required fields sendValReq.FieldValues.Add(InfoKeyWithValues.GetFieldValue(InfoKeyNames.sender_LastName)); sendValReq.FieldValues.Add(InfoKeyWithValues.GetFieldValue(InfoKeyNames.sender_Address)); sendValReq.FieldValues.Add(InfoKeyWithValues.GetFieldValue(InfoKeyNames.sender_Birth_Country)); sendValReq.FieldValues.Add(InfoKeyWithValues.GetFieldValue(InfoKeyNames.sender_City)); sendValReq.FieldValues.Add(InfoKeyWithValues.GetFieldValue(InfoKeyNames.sender_DOB)); sendValReq.FieldValues.Add(InfoKeyWithValues.GetFieldValue(InfoKeyNames.sender_Country)); sendValReq.FieldValues.Add(InfoKeyWithValues.GetFieldValue(InfoKeyNames.sender_Occupation)); sendValReq.FieldValues.Add(InfoKeyWithValues.GetFieldValue(InfoKeyNames.receiver_LastName)); sendValReq.FieldValues.Add(InfoKeyWithValues.GetFieldValue(InfoKeyNames.primaryReceiptLanguage)); sendValReq.FieldValues.Add(InfoKeyWithValues.GetFieldValue(InfoKeyNames.sender_PrimaryPhoneCountryCode)); sendValReq.FieldValues.Add(InfoKeyWithValues.GetFieldValue(InfoKeyNames.sender_PrimaryPhone)); sendValReq.FieldValues.Add(InfoKeyWithValues.GetFieldValue(InfoKeyNames.receiver_PrimaryPhoneCountryCode)); sendValReq.FieldValues.Add(InfoKeyWithValues.GetFieldValue(InfoKeyNames.receiver_PrimaryPhone)); sendValReq.FieldValues.Add(InfoKeyWithValues.GetFieldValue(InfoKeyNames.sender_FirstName)); sendValReq.FieldValues.Add(InfoKeyWithValues.GetFieldValue(InfoKeyNames.receiver_FirstName)); return(sendValReq); }
public virtual async Task <SendValidationResponse> SendValidationAsync(Agent agent, SendValidationRequest sendValidationRequest) { return(await AgentConnect.SendValidationAsync(agent, sendValidationRequest)); }
public virtual SendValidationResponse SendValidation(Agent agent, SendValidationRequest sendValidationRequest) { return(AgentConnect.SendValidation(agent, sendValidationRequest)); }
public IHttpActionResult SendValidation(SendValidationRequest sendValidationRequest) { var sendValidateRespVm = _sendBusiness.SendValidation(sendValidationRequest); return(Ok(sendValidateRespVm)); }
public AcApiResponse <SendValidationResponse, ReceiptsApiData> SendValidation(SendValidationRequest req) { //Create request business object for agent connect service call req.PrimaryReceiptLanguage = AuthIntegration.GetAgentPrimaryReceiptLanguage(); req.SecondaryReceiptLanguage = AuthIntegration.GetAgentSecondaryReceiptLanguage(); // AgentConnect sendValidation call for SEND var resp = _agentConnectIntegration.SendValidation(req); // Process Receipt var additionalData = ReceiptHelper.GenerateAdditionalDataReceipts(resp.Payload?.Receipts, _receiptIntegration); // Return Response View Model var apiResp = new AcApiResponse <SendValidationResponse, ReceiptsApiData> { BusinessMetadata = MapperHelper.SetResponseProperties(resp.Payload?.Flags, DataSource.AgentConnect), ResponseData = resp, AdditionalData = additionalData }; return(apiResp); }
public static SendValidationRequest FromReceiver(this SendValidationRequest sendValReq, List <KeyValuePairType> receiverFields, List <string> requestedInfoKeys, SendValidationRequest previousRequest = null, List <string> monitoredListOfFieldsToCollect = null) { return(MapFieldValues(sendValReq, receiverFields, requestedInfoKeys, previousRequest, monitoredListOfFieldsToCollect)); }