Imports BVSoftware.BVC.Core Public Class PackingSlip Inherits System.Web.UI.UserControl #Region " Web Form Designer Generated Code " 'This call is required by the Web Form Designer. Private Sub InitializeComponent() End Sub Protected WithEvents lblOrderNumber As System.Web.UI.WebControls.Label Protected WithEvents lblInstructions As System.Web.UI.WebControls.Label Protected WithEvents PackageList As System.Web.UI.WebControls.DataList Protected WithEvents NonShippingLabel As System.Web.UI.WebControls.Label Protected WithEvents NonPackageItems As System.Web.UI.WebControls.DataGrid Protected WithEvents StoreLogo As System.Web.UI.WebControls.Image Protected WithEvents StoreAddress As System.Web.UI.WebControls.Label Protected WithEvents lblOrderDate As System.Web.UI.WebControls.Label 'NOTE: The following placeholder declaration is required by the Web Form Designer. 'Do not delete or move it. Private designerPlaceholderDeclaration As System.Object Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init 'CODEGEN: This method call is required by the Web Form Designer 'Do not modify it using the code editor. InitializeComponent() End Sub #End Region Private _o As Orders.Order Public Property CurrentOrder() As Orders.Order Get Return _o End Get Set(ByVal Value As Orders.Order) _o = Value End Set End Property Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If Not Page.IsPostBack Then LoadCurrentOrder() End If End Sub Public Sub LoadOrderByID(ByVal orderID As Integer) _o = OrderServices.GetExistingOrder(orderID) LoadOrder(_o) End Sub Public Sub LoadOrder(ByRef ord As Orders.Order) _o = ord LoadCurrentOrder() End Sub Public Sub LoadCurrentOrder() Try Me.StoreLogo.ImageUrl = ImageHelper.GetLogoImageURL Me.StoreLogo.ImageUrl = ImageHelper.ConvertLocalImageToURL(Me.StoreLogo.ImageUrl) Me.StoreAddress.Text = ContactServices.Addresses.ToHtmlString(WebAppSettings.ContactAddress) If Not _o Is Nothing Then lblOrderNumber.Text = "Order Number " & _o.CompletedOrderID ' Shipping Items If _o.Packages.Length > 0 Then PackageList.Visible = True PackageList.DataSource = _o.Packages PackageList.DataBind() End If ' Load non-shipping items If _o.GetNonShippingItems.Count > 0 Then NonPackageItems.DataSource = _o.GetNonShippingItems NonPackageItems.DataBind() NonShippingLabel.Visible = True Else NonShippingLabel.Visible = False End If lblInstructions.Text = _o.Instructions Me.lblOrderDate.Text = String.Format("{0:g}", _o.TimeOfOrder) End If Catch Ex As Exception EventLog.LogEvent(Ex) End Try End Sub Public Sub NonPackageItems_ItemDataBound(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles NonPackageItems.ItemDataBound If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then Dim editID As String = CType(sender, DataGrid).DataKeys(e.Item.ItemIndex) Dim Item As Orders.OrderItem = OrderServices.OrderItems.GetByID(editID) If Not Item Is Nothing Then e.Item.Cells(1).Text = OrderServices.OrderItems.GetDisplaySKUForItem(Item) Dim sDescription As String = Item.DisplayName If Item.DisplayDescription.Trim.Length > 0 Then sDescription += Item.DisplayDescription End If e.Item.Cells(2).Text = sDescription End If Item = Nothing End If End Sub Private Sub PackageList_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles PackageList.ItemDataBound If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then Dim editID As String = PackageList.DataKeys(e.Item.ItemIndex) Dim pak As Shipping.Package = ShippingServices.Packages.GetPackageByID(editID) If Not pak Is Nothing Then Dim ShipToLabel As Label = e.Item.FindControl("PackageShipAddress") If Not ShipToLabel Is Nothing Then ShipToLabel.Text = ContactServices.Addresses.ToHtmlString(pak.DestinationAddress) ShipToLabel.Text += "
Ship By: " & pak.ShippingMethodName End If Dim PackageItems As DataGrid = e.Item.FindControl("PackageItems") If Not PackageItems Is Nothing Then AddHandler PackageItems.ItemDataBound, AddressOf Me.NonPackageItems_ItemDataBound PackageItems.DataSource = _o.GetItemsForPackage(pak.ID) PackageItems.DataBind() End If End If pak = Nothing End If End Sub End Class