Example #1
0
        public byte[] Attach(AttachBarCodeRequest request)
        {
            byte[] bytes;
            using (var qrCodeStream = GetStream(request.QrCodeBytes))
            {
                using (var fileStream = GetStream(request.FileBytes))
                {
                    using (var outputStream = new MemoryStream())
                    {
                        var outputFile = GetDocument(fileStream);

                        var lowerLeftX  = request.LowerLeftX;
                        var lowerLeftY  = request.LowerLeftY;
                        var upperRightX = request.UpperRightX;
                        var upperRightY = request.UpperRightY;

                        outputFile.AddImage(qrCodeStream, request.PageNumber, lowerLeftX, lowerLeftY, upperRightX, upperRightY);

                        outputFile.Save(outputStream);

                        bytes = outputStream.ToArray();
                    }
                }
            }
            return(bytes);
        }
        public AttachBarCodeResponse Execute(AttachBarCodeRequest request)
        {
            var outputFileBytes = _barCodeAttachmentOperations.Attach(request);

            var attachQrCodeResponse = new AttachBarCodeResponse
            {
                OutputFileBytes = outputFileBytes
            };

            return(attachQrCodeResponse);
        }
        public void Execute_GivenRequestToAttachEndPoint_ShouldCallAttachMethod()
        {
            //Arrange
            var request = new AttachBarCodeRequest
            {
                FileBytes   = GetFileBytes("BootCampForm-v2.pdf"),
                QrCodeBytes = GetFileBytes("barcode3.png")
            };

            var attachBarCodes = Substitute.For <IBarCodeAttachmentOperations>();

            var sut = CreateAttachQrCodeUseCase(attachBarCodes);

            //Act
            var actual = sut.Execute(request);

            //Assert
            attachBarCodes.Received().Attach(Arg.Any <AttachBarCodeRequest>());
        }
        public void Execute_GivenRequestWithPdfFileBytesAndQrCodeBytes_ShouldReturnOutputFileBytes()
        {
            //Arrange
            var request = new AttachBarCodeRequest
            {
                FileBytes   = GetFileBytes("BootCampForm-v2.pdf"),
                QrCodeBytes = GetFileBytes("barcode3.png")
            };

            var attachBarCodes = new BarCodeAttachmentOperations();

            var sut = CreateAttachQrCodeUseCase(attachBarCodes);

            //Act
            var actual = sut.Execute(request);

            //Assert
            actual.OutputFileBytes.Length.Should().BeGreaterThan(0);
        }