コード例 #1
0
        public async Task <IActionResult> GetPDF([FromRoute] int Id)
        {
            if (!ModelState.IsValid)
            {
                var exception = new
                {
                    error = ResultFormatter.FormatErrorMessage(ModelState)
                };
                return(new BadRequestObjectResult(exception));
            }

            try
            {
                var indexAcceptPdf = Request.Headers["Accept"].ToList().IndexOf("application/pdf");
                int timeoffsset    = Convert.ToInt32(Request.Headers["x-timezone-offset"]);
                var model          = await _service.ReadById(Id);

                if (model == null)
                {
                    return(StatusCode((int)HttpStatusCode.NotFound, "Not Found"));
                }
                else
                {
                    GarmentPackingListViewModel pl = await _packingListService.ReadByInvoiceNo(model.invoiceNo);

                    GarmentShippingInvoiceViewModel invoice = await _invoiceService.ReadById(model.invoiceId);

                    Buyer        buyer       = _invoiceService.GetBuyer(invoice.BuyerAgent.Id);
                    var          PdfTemplate = new GarmentCoverLetterPdfTemplate();
                    MemoryStream stream      = PdfTemplate.GeneratePdfTemplate(model, pl, buyer, timeoffsset);

                    return(new FileStreamResult(stream, "application/pdf")
                    {
                        FileDownloadName = "Cover Letter - " + model.invoiceNo + ".pdf"
                    });
                }
            }
            catch (Exception ex)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message));
            }
        }
コード例 #2
0
        public async Task <IActionResult> GetPDF([FromRoute] int Id)
        {
            if (!ModelState.IsValid)
            {
                var exception = new
                {
                    error = ResultFormatter.FormatErrorMessage(ModelState)
                };
                return(new BadRequestObjectResult(exception));
            }

            try
            {
                var indexAcceptPdf = Request.Headers["Accept"].ToList().IndexOf("application/pdf");
                int timeoffsset    = Convert.ToInt32(Request.Headers["x-timezone-offset"]);
                var model          = await _service.ReadById(Id);

                if (model == null)
                {
                    return(StatusCode((int)HttpStatusCode.NotFound, "Not Found"));
                }
                else
                {
                    List <GarmentShippingInvoiceViewModel> invoices     = new List <GarmentShippingInvoiceViewModel>();
                    List <GarmentPackingListViewModel>     packingLists = new List <GarmentPackingListViewModel>();
                    foreach (var invoiceItem in model.invoiceDetails)
                    {
                        GarmentShippingInvoiceViewModel invoice = await _invoiceService.ReadById(invoiceItem.invoiceId);

                        GarmentPackingListViewModel pl = await _packingListService.ReadByInvoiceNo(invoiceItem.invoiceNo);

                        invoices.Add(invoice);
                        packingLists.Add(pl);
                    }
                    if (model.paymentType == "FORWARDER")
                    {
                        if (model.isFreightCharged)
                        {
                            var          PdfTemplate = new GarmentShippingPaymentDispositionForwarderFCPDFTemplate();
                            MemoryStream stream      = PdfTemplate.GeneratePdfTemplate(model, invoices, timeoffsset);

                            return(new FileStreamResult(stream, "application/pdf")
                            {
                                FileDownloadName = model.dispositionNo + ".pdf"
                            });
                        }
                        else
                        {
                            var          PdfTemplate = new GarmentShippingPaymentDispositionForwarderPDFTemplate();
                            MemoryStream stream      = PdfTemplate.GeneratePdfTemplate(model, invoices, packingLists, timeoffsset);

                            return(new FileStreamResult(stream, "application/pdf")
                            {
                                FileDownloadName = model.dispositionNo + ".pdf"
                            });
                        }
                    }
                    else if (model.paymentType == "EMKL")
                    {
                        var          PdfTemplate = new GarmentShippingPaymentDispositionEMKLPDFTemplate();
                        MemoryStream stream      = PdfTemplate.GeneratePdfTemplate(model, invoices, timeoffsset);

                        return(new FileStreamResult(stream, "application/pdf")
                        {
                            FileDownloadName = model.dispositionNo + ".pdf"
                        });
                    }
                    else
                    {
                        var          PdfTemplate = new GarmentShippingPaymentDispositionCourierPDFTemplate();
                        MemoryStream stream      = PdfTemplate.GeneratePdfTemplate(model, timeoffsset);

                        return(new FileStreamResult(stream, "application/pdf")
                        {
                            FileDownloadName = model.dispositionNo + ".pdf"
                        });
                    }
                }
            }
            catch (Exception ex)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message));
            }
        }