public V2.ProcessingInput GetProcessingInput(V1.CCTranType aTranType, V1.ProcessingInput inputData) { if (inputData == null) { throw new ArgumentNullException(nameof(inputData)); } V2.CCTranType tranType = ToV2(aTranType); V2.ProcessingInput result = new V2.ProcessingInput() { TranType = tranType, Amount = inputData.Amount, CuryID = inputData.CuryID, OrigTranID = aTranType == V1.CCTranType.CaptureOnly ? null : inputData.OrigRefNbr, AuthCode = aTranType == V1.CCTranType.CaptureOnly ? inputData.OrigRefNbr : null }; if (FillCardData) { result.CardData = GetCardData(_provider.GetCardDataReader()); result.CardData.AddressData = GetAddressData(_provider.GetCustomerDataReader()); } if (FillCustomerData) { result.CustomerData = GetCustomerData(_provider.GetCustomerDataReader()); } result.DocumentData = new V2.DocumentData(); result.DocumentData.DocType = inputData.DocType; result.DocumentData.DocRefNbr = inputData.DocRefNbr; FillDocumentData(result); return(result); }
public V1.ProcessingResult DoTransaction(V1.CCTranType aTranType, V1.ProcessingInput inputData) { _plugin.Initialize( _provider.GetProcessingCenterSettingsStorage(), _provider.GetCardDataReader(), _provider.GetCustomerDataReader(), _provider.GetDocDetailsDataReader()); V1.ProcessingResult result = new V1.ProcessingResult(); _plugin.DoTransaction(aTranType, inputData, result); return(result); }
private void FillDocumentData(V2.ProcessingInput processingInput, V1.ProcessingInput inputData) { processingInput.DocumentData = new V2.DocumentData(); processingInput.DocumentData.DocType = inputData.DocType; processingInput.DocumentData.DocRefNbr = inputData.DocRefNbr; processingInput.DocumentData.DocumentDetails = new List <V2.DocumentDetailData>(); V1.IDocDetailsDataReader documentReader = _provider.GetDocDetailsDataReader(); List <V1.DocDetailInfo> detailsData = new List <V1.DocDetailInfo>(); documentReader.ReadData(detailsData); foreach (var item in detailsData) { V2.DocumentDetailData v2Item = ToV2(item); processingInput.DocumentData.DocumentDetails.Add(v2Item); } }
public V1.ProcessingResult DoTransaction(V1.CCTranType aTranType, V1.ProcessingInput inputData) { V2SettingsGenerator seetingsGen = new V2SettingsGenerator(_provider); V2.ICCTransactionProcessor processor = _plugin.CreateProcessor <V2.ICCTransactionProcessor>(seetingsGen.GetSettings()); V1.ProcessingResult result = null; if (processor == null) { string errorMessage = PXMessages.LocalizeFormatNoPrefixNLA( Messages.FeatureNotSupportedByProcessing, CCProcessingFeature.Base); result = V1ProcessingDTOGenerator.GetProcessingResult(errorMessage); return(result); } var inputGenerator = new V2ProcessingInputGenerator(_provider); var processingInput = inputGenerator.GetProcessingInput(aTranType, inputData); V2.ProcessingResult v2Result = processor.DoTransaction(processingInput); result = V1ProcessingDTOGenerator.GetProcessingResult(v2Result); return(result); }