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); }