Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Protected Overrides Async Sub OnLoad(e As EventArgs)
- MyBase.OnLoad(e)
- TransferID = Convert.ToInt64(QueryHelper.GetDouble(NameOf(TransferID), 0.0))
- Using strm As New IO.FileStream(Server.MapPath("BillOfLading Template.pdf"), IO.FileMode.Open)
- Using rdr As New PdfReader(strm)
- Response.Clear()
- Response.BufferOutput = True
- SetupHeaders("testfile.pdf")
- Dim shipment As Transfer = Await getTransfer()
- Dim bill As BillOfLading = shipment.billOfLading
- Dim fromYardTsk = getYard(shipment, YardSides.ShipFrom)
- Dim toYardTsk = getYard(shipment, YardSides.ShipTo)
- Dim productsTsk = getProducts(shipment)
- Await Task.WhenAll({fromYardTsk, toYardTsk, productsTsk})
- Dim fromYard As Yard = Await fromYardTsk
- Dim toYard As Yard = Await toYardTsk
- Dim products As List(Of ProductInfo) = Await productsTsk
- Using stamper As New PdfStamper(rdr, Response.OutputStream)
- Dim flds As AcroFields = stamper.AcroFields
- flds.SetField("dtmShipDate", shipment.shipmentDate.ToShortDateString)
- flds.SetField("FolderName", bill.id)
- flds.SetField("txtShipFromFerrell", fromYard.boL_Name)
- flds.SetField("txtShipFromParent", $"{fromYard.yardName} ({fromYard.yardID})")
- flds.SetField("txtShipperNum", shipment.referenceNumber)
- flds.SetField("txtShipFromAddress", fromYard.address1)
- flds.SetField("txtCarrier", shipment.carrierName)
- flds.SetField("txtShipFromCityStateZip", $"{fromYard.city}, {fromYard.state} {fromYard.zip}")
- flds.SetField("txtTrailerNum", bill.trailerNumber)
- flds.SetField("chkFOBSource", If(bill.fob = "Source", flds.GetAppearanceStates("chkFOBSource").Last, String.Empty))
- flds.SetField("txtShipToFerrell", toYard.boL_Name)
- flds.SetField("txtDOTHazmat", Regex.Replace(bill.hazmatEmergencyContactNumber, "(\d{3})(\d{3})(\d{4})", "$1-$2-$3"))
- flds.SetField("txtShipToParent", $"{toYard.yardName } ({toYard.yardID })")
- flds.SetField("txtShipToAddress1", toYard.address1)
- flds.SetField("txtShipToAddress2", toYard.address2)
- flds.SetField("txtCarrierNum", bill.carrierNumber)
- flds.SetField("txtShipToCityStateZip", $"{toYard.city}, {toYard.state} {toYard.zip}")
- flds.SetField("chkPlacardsYes", If(bill.placardsRequired, flds.GetAppearanceStates("chkPlacardsYes").Last, String.Empty))
- flds.SetField("chkPlacardsNo", If(Not bill.placardsRequired, flds.GetAppearanceStates("chkPlacardsNo").Last, String.Empty))
- flds.SetField("txtPlacards", bill.placards)
- flds.SetField("chkFOBDestination", If(bill.fob = "Destination", flds.GetAppearanceStates("chkFOBDestination").Last, String.Empty))
- flds.SetField("chkPlacardsSuppliedYes", If(bill.placardsSupplied, flds.GetAppearanceStates("chkPlacardsSuppliedYes").Last, String.Empty))
- flds.SetField("chkPlacardsSuppliedNo", If(Not bill.placardsSupplied, flds.GetAppearanceStates("chkPlacardsSuppliedNo").Last, String.Empty))
- flds.SetField("chkPrepaid", If(bill.freightCharges = "P", flds.GetAppearanceStates("chkPrepaid").Last, String.Empty))
- flds.SetField("chkCollect", If(bill.freightCharges = "C", flds.GetAppearanceStates("chkCollect").Last, String.Empty))
- Select Case shipment.shipperOfRecord.Trim.ToUpper
- Case "F"
- flds.SetField("txtShipperOfRecord", fromYard.boL_Name)
- Case "T"
- flds.SetField("txtShipperOfRecord", toYard.boL_Name)
- Case Else
- flds.SetField("txtShipperOfRecord", "")
- End Select
- 'flds.SetField("txtBlueRhino", "26")
- 'flds.SetField("txtLoadLocks", "27")
- flds.SetField("txtContactName", bill.hazmatEmergencyContactNumber)
- flds.SetField("memSpecialInsr", shipment.comments)
- flds.SetField("txtEmerPhone", bill.hazmatEmergencyPhone)
- Dim proddetail = (From detail In shipment.loadDetails
- Join prod In products On detail.product Equals prod.product
- Select New With {.Product = prod, .Detail = detail}).ToList
- For Each lineinfo In proddetail.Select(Function(info, index) New With {.info = info, .Index = index})
- flds.SetField($"intUOMShipQty{lineinfo.Index + 1}", lineinfo.info.Detail.qtyShipped.ToString("N0"))
- flds.SetField($"txtUOM{lineinfo.Index + 1}", lineinfo.info.Product.bolDisplayUOM)
- flds.SetField($"intShipQty{lineinfo.Index + 1}", lineinfo.info.Detail.qtyShipped)
- flds.SetField($"Type{lineinfo.Index + 1}", lineinfo.info.Product.bolDisplayUOM)
- flds.SetField($"decWeight{lineinfo.Index + 1}", (lineinfo.info.Product.weight * lineinfo.info.Detail.qtyShipped).ToString("N2"))
- flds.SetField($"chkHazmat{lineinfo.Index + 1}", If(lineinfo.info.Product.hazmat, flds.GetAppearanceStates($"chkHazmat{lineinfo.Index + 1}").Last, String.Empty))
- flds.SetField($"txtProduct{lineinfo.Index + 1}", If(String.IsNullOrWhiteSpace(lineinfo.info.Product.bolWording), lineinfo.info.Product.product, lineinfo.info.Product.bolWording))
- flds.SetField($"txtIntDesc{lineinfo.Index + 1}", lineinfo.info.Product.reportingCategoryDetail)
- flds.SetField($"txtNMFC{lineinfo.Index + 1}", lineinfo.info.Product.nmfc)
- flds.SetField($"txtClassRate{lineinfo.Index + 1}", "")
- Next
- flds.SetField("decTotalWeight", proddetail.Sum(Function(p) p.Product.weight * p.Product.truckQty).ToString("N2"))
- flds.SetField("curCOD", bill.codAmount.ToString("F2"))
- flds.SetField("chkCODCollect", If(bill.freightCharges = "C", flds.GetAppearanceStates("chkCODCollect").Last, String.Empty))
- flds.SetField("chkCODPrepaid", If(bill.freightCharges = "P", flds.GetAppearanceStates("chkCODPrepaid").Last, String.Empty))
- 'flds.SetField("FormDataTypes", "155")
- 'flds.SetField("eSubmitButton", "")
- 'flds.SetField("eCancelButton", "")
- Dim cb = stamper.GetOverContent(1)
- Dim codeText As String = $"http://bluerhino.com/{Now.Ticks}"
- Dim qrcode2 As iTextSharp.text.pdf.BarcodeQRCode = New BarcodeQRCode(codeText, 1, 1, Nothing)
- Dim img As iTextSharp.text.Image = qrcode2.GetImage()
- img.SetAbsolutePosition(350, 0)
- ' img.ScalePercent(125.0F)
- cb.AddImage(img)
- stamper.FormFlattening = True
- stamper.Writer.CloseStream = False
- End Using
- Response.End()
- End Using
- End Using
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement