Exemplo n.º 1
0
        public void AddVoucherImage(string jobIdLocation, Document pdf, AdjustmentLetter letter, IFileReader fileReader)
        {
            var secondPage = pdf.Pages.Add();

            var drn = letter.AdjustedVoucher.voucher.documentReferenceNumber;
            var fs  = fileReader.LoadImage(jobIdLocation, letter.ProcessingDate, drn);

            if (fs != null)
            {
                secondPage.Resources.Images.Add(fs);

                secondPage.Contents.Add(new Operator.GSave());

                //// Create Rectangle and Matrix objects
                var rectangle = new Rectangle(ReportConstants.LowerLeftX, ReportConstants.LowerLeftY, ReportConstants.UpperRightX, ReportConstants.UpperRightY);
                var matrix    = new Aspose.Pdf.DOM.Matrix(new[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });

                //// Using ConcatenateMatrix (concatenate matrix) operator: defines how image must be placed
                secondPage.Contents.Add(new Operator.ConcatenateMatrix(matrix));
                var ximage = secondPage.Resources.Images[secondPage.Resources.Images.Count];

                //// Using Do operator: this operator draws image
                secondPage.Contents.Add(new Operator.Do(ximage.Name));

                //// Using GRestore operator: this operator restores graphics state
                secondPage.Contents.Add(new Operator.GRestore());
            }
            else
            {
                Log.Warning("Image not found for voucher {@voucher} to attach to letter",
                            new { jobIdentifier = letter.JobIdentifier, processingDate = letter.ProcessingDate, DRN = drn });
            }
        }
Exemplo n.º 2
0
        public void AddTransactionReport(Document pdf, AdjustmentLetter letter)
        {
            var page = pdf.Pages.Add();

            page.PageInfo.Margin.Left  = 35;
            page.PageInfo.Margin.Right = 10;
            page.PageInfo.Width        = Aspose.Pdf.Generator.PageSize.A4Width;

            var report = MapVoucherToReport(letter);

            var dataTable = CreateTransactionLines(report);

            BuildReportFromDataTable(dataTable, page, report);
        }
Exemplo n.º 3
0
        public void WhenGenerateReportCalled_ThenCreateReportPage()
        {
            var letterGenerator = new LetterGenerator(config.Object, aspose.Object);
            var voucher = TestData_VoucherInfo();

            var letter = new AdjustmentLetter { AdjustedVoucher = voucher };
            letter.Vouchers.Add(voucher);

            var pdf = new Document();

            var count = pdf.Pages.Count;

            letterGenerator.AddTransactionReport(pdf, letter);

            Assert.AreEqual(count + 1, pdf.Pages.Count);
        }
Exemplo n.º 4
0
        public Report MapVoucherToReport(AdjustmentLetter letter)
        {
            var voucher = letter.AdjustedVoucher;

            var headerRow = new HeaderRow
            {
                BusinessDate = voucher.voucher.processingDate.ToShortDateString(),
                ReportOn     = DateTime.Today.ToShortDateString(),
                Page         = "1"
            };

            var voucherList = letter.Vouchers.Select(vouch => new TableRow
            {
                AccountNo = vouch.voucher.accountNumber.ToString(),
                Ad        = vouch.voucher.auxDom,
                Amount    = FormatAmount(vouch.voucher.amount, "Decimal"),
                Bsb       = vouch.voucher.bsbNumber,
                Bch       = vouch.voucherBatch.scannedBatchNumber,
                NegBsb    = vouch.voucherBatch.collectingBank,
                Drcr      = vouch.voucher.documentType.ToString(),
                TransCode = vouch.voucher.transactionCode,
                Ean       = vouch.voucher.extraAuxDom,
                Din       = vouch.voucher.documentReferenceNumber
            }).ToList();

            var totalCredAmount = letter.Vouchers.Where(x => x.voucher.documentType.ToString().ToUpper() == "CR").Sum(x => Convert.ToDecimal(x.voucher.amount));
            var totalDebAmount  = letter.Vouchers.Where(x => x.voucher.documentType.ToString().ToUpper() == "DR").Sum(x => Convert.ToDecimal(x.voucher.amount));

            var footerRow = new FooterRow
            {
                TotalCreditAmount = totalCredAmount.ToString(CultureInfo.InvariantCulture),
                TotalDebitAmount  = totalDebAmount.ToString(CultureInfo.InvariantCulture),
                CreditCount       = letter.Vouchers.Count(x => x.voucher.documentType.ToString().ToUpper() == "CR").ToString(),
                DebitCount        = letter.Vouchers.Count(x => x.voucher.documentType.ToString().ToUpper() == "DR").ToString()
            };


            var report = new Report
            {
                HeaderInfo  = headerRow,
                VoucherRows = voucherList,
                FooterInfo  = footerRow
            };

            return(report);
        }
Exemplo n.º 5
0
        public void WhenAddImageCalled_ThenCreatePdfPage()
        {
            var letterGenerator = new LetterGenerator(config.Object, aspose.Object);
            var voucher = TestData_VoucherInfo();

            var letter = new AdjustmentLetter { AdjustedVoucher = voucher };
            letter.Vouchers.Add(voucher);

            var jobIdLocation = config.Object.BitLockerLocation;

            var pdf = new Document();

            var count = pdf.Pages.Count;

            letterGenerator.AddVoucherImage(jobIdLocation, pdf, letter, fileReader.Object);

            Assert.AreEqual(count + 1, pdf.Pages.Count);
        }
        private AdjustmentLetter GetTestData_Letter()
        {
            var letter = new AdjustmentLetter();

            var voucherInfo = GetTestData_VoucherInfo();

            letter.PdfFilename = "Hello.pdf";
            letter.AdjustedVoucher = voucherInfo;
            letter.Vouchers.Add(voucherInfo);

            return letter;
        }
Exemplo n.º 7
0
        public Report MapVoucherToReport(AdjustmentLetter letter)
        {
            var voucher = letter.AdjustedVoucher;

            var headerRow = new HeaderRow
            {
                BusinessDate = voucher.voucher.processingDate.ToShortDateString(),
                ReportOn = DateTime.Today.ToShortDateString(),
                Page = "1"
            };

            var voucherList = letter.Vouchers.Select(vouch => new TableRow
            {
                AccountNo = vouch.voucher.accountNumber.ToString(),
                Ad = vouch.voucher.auxDom,
                Amount = FormatAmount(vouch.voucher.amount, "Decimal"),
                Bsb = vouch.voucher.bsbNumber,
                Bch = vouch.voucherBatch.scannedBatchNumber,
                NegBsb = vouch.voucherBatch.collectingBank,
                Drcr = vouch.voucher.documentType.ToString(),
                TransCode = vouch.voucher.transactionCode,
                Ean = vouch.voucher.extraAuxDom,
                Din = vouch.voucher.documentReferenceNumber
            }).ToList();

            var totalCredAmount = letter.Vouchers.Where(x => x.voucher.documentType.ToString().ToUpper() == "CR").Sum(x => Convert.ToDecimal(x.voucher.amount));
            var totalDebAmount = letter.Vouchers.Where(x => x.voucher.documentType.ToString().ToUpper() == "DR").Sum(x => Convert.ToDecimal(x.voucher.amount));

            var footerRow = new FooterRow
            {
                TotalCreditAmount = totalCredAmount.ToString(CultureInfo.InvariantCulture),
                TotalDebitAmount = totalDebAmount.ToString(CultureInfo.InvariantCulture),
                CreditCount = letter.Vouchers.Count(x => x.voucher.documentType.ToString().ToUpper() == "CR").ToString(),
                DebitCount = letter.Vouchers.Count(x => x.voucher.documentType.ToString().ToUpper() == "DR").ToString()
            };


            var report = new Report
            {
                HeaderInfo = headerRow,
                VoucherRows = voucherList,
                FooterInfo = footerRow
            };

            return report;

        }
Exemplo n.º 8
0
        public void AddTransactionReport(Document pdf, AdjustmentLetter letter)
        {

            var page = pdf.Pages.Add();
            page.PageInfo.Margin.Left = 35;
            page.PageInfo.Margin.Right = 10;
            page.PageInfo.Width = Aspose.Pdf.Generator.PageSize.A4Width;

            var report = MapVoucherToReport(letter);

            var dataTable = CreateTransactionLines(report);
            BuildReportFromDataTable(dataTable, page, report);
        }
Exemplo n.º 9
0
        public void AddVoucherImage(string jobIdLocation, Document pdf, AdjustmentLetter letter, IFileReader fileReader)
        {
            var secondPage = pdf.Pages.Add();

            var drn = letter.AdjustedVoucher.voucher.documentReferenceNumber;
            var fs = fileReader.LoadImage(jobIdLocation, letter.ProcessingDate, drn);

            if (fs != null)
            {
                secondPage.Resources.Images.Add(fs);

                secondPage.Contents.Add(new Operator.GSave());

                //// Create Rectangle and Matrix objects
                var rectangle = new Rectangle(ReportConstants.LowerLeftX, ReportConstants.LowerLeftY, ReportConstants.UpperRightX, ReportConstants.UpperRightY);
                var matrix = new Aspose.Pdf.DOM.Matrix(new[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });

                //// Using ConcatenateMatrix (concatenate matrix) operator: defines how image must be placed
                secondPage.Contents.Add(new Operator.ConcatenateMatrix(matrix));
                var ximage = secondPage.Resources.Images[secondPage.Resources.Images.Count];

                //// Using Do operator: this operator draws image
                secondPage.Contents.Add(new Operator.Do(ximage.Name));

                //// Using GRestore operator: this operator restores graphics state
                secondPage.Contents.Add(new Operator.GRestore());
            }
            else
            {
                Log.Warning("Image not found for voucher {@voucher} to attach to letter",
                    new { jobIdentifier = letter.JobIdentifier, processingDate = letter.ProcessingDate, DRN = drn });
            }
        }