public static ReceiptsApiData GenerateAdditionalDataReceipts(CompletionReceiptType receipts, IReceiptIntegration receiptIntegration) { var textReceipt = string.Empty; var isAdditionalData = false; if (receipts != null) { var mimeType = IdentifyReceiptMimeType(receipts.ReceiptMimeType); // Dont process Images or PDF's if (mimeType == MimeTypeEnum.ImageJPEG || mimeType == MimeTypeEnum.Pdf) { return(null); } var receiptSegments = GetReceiptSegments(receipts.AgentReceiptMimeData, receipts.ConsumerReceipt1MimeData, receipts.ConsumerReceipt2MimeData); var receipt = ProcessReceipt(receiptSegments, receipts.ReceiptMimeType, receiptIntegration); if (mimeType == MimeTypeEnum.Thermal) { textReceipt = ProcessThermalReceipt(receipt, receipts.CharsetEncoding); } else if (mimeType == MimeTypeEnum.Text) { textReceipt = ProcessTextReceipt(receipt, receipts.CharsetEncoding); } isAdditionalData = !string.IsNullOrWhiteSpace(textReceipt); } return(isAdditionalData ? new ReceiptsApiData { TextReceipt = textReceipt } : null); }
private static ReceiptsApiData GenerateAdditionalDataCompletionTest(string mimeType) { var byteList = new List <byte> { Convert.ToByte(22) }; var segmentList = new List <ReceiptSegmentType> { new ReceiptSegmentType { MimeData = byteList, Sequence = -1 } }; var preCompletionReceiptType = new CompletionReceiptType { ReceiptMimeType = mimeType, ConsumerReceipt1MimeData = segmentList, ConsumerReceipt2MimeData = segmentList }; var mockReceiptIntegration = new Mock <IReceiptIntegration>(); mockReceiptIntegration.Setup(x => x.MergePdf(It.IsAny <List <byte[]> >())).Returns(() => new byte[1]); return(ReceiptHelper.GenerateAdditionalDataReceipts(preCompletionReceiptType, mockReceiptIntegration.Object)); }