protected void Page_Init(object sender, EventArgs e)
        {
            int shipmentId = AlwaysConvert.ToInt(Request.QueryString["ShipmentId"]);

            _OrderShipment = OrderShipmentDataSource.Load(shipmentId);
            if (_OrderShipment == null)
            {
                int orderId     = AbleCommerce.Code.PageHelper.GetOrderId();
                int orderNumber = OrderDataSource.LookupOrderNumber(orderId);
                Response.Redirect("Default.aspx?OrderNumber=" + orderNumber.ToString());
            }
            Caption.Text            = string.Format(Caption.Text, _OrderShipment.ShipmentNumber, _OrderShipment.Order.OrderNumber);
            CancelLink.NavigateUrl += "?OrderNumber=" + _OrderShipment.Order.OrderNumber.ToString();
            //BIND ITEMS
            ShipmentItems.DataSource = _OrderShipment.OrderItems;
            ShipmentItems.DataBind();
            //ADD ITEMS TO SHIPMENTS LIST
            foreach (OrderShipment shipment in _OrderShipment.Order.Shipments)
            {
                if ((shipment.Id != shipmentId) && (!shipment.IsShipped))
                {
                    string address = string.Format("{0} {1} {2} {3}", shipment.ShipToFirstName, shipment.ShipToLastName, shipment.ShipToAddress1, shipment.ShipToCity);
                    if (address.Length > 50)
                    {
                        address = address.Substring(0, 47) + "...";
                    }
                    string name = "Shipment #" + shipment.ShipmentNumber + " to " + address;
                    ShipmentsList.Items.Add(new ListItem(name, shipment.Id.ToString()));
                }
            }
        }
Exemplo n.º 2
0
        protected void Page_Init(object sender, EventArgs e)
        {
            int shipmentId = AlwaysConvert.ToInt(Request.QueryString["OrderShipmentId"]);

            _OrderShipment = OrderShipmentDataSource.Load(shipmentId);
            if (_OrderShipment == null)
            {
                Response.Redirect(CancelLink.NavigateUrl);
            }

            // BIND THE ADDRESS
            initAddress();

            // BIND ADDITIONAL DETAILS
            ShipFrom.DataSource = AbleContext.Current.Store.Warehouses;
            ShipFrom.DataBind();
            if (!Page.IsPostBack)
            {
                ListItem selectedItem = ShipFrom.Items.FindByValue(_OrderShipment.WarehouseId.ToString());
                if (selectedItem != null)
                {
                    selectedItem.Selected = true;
                }
            }
            ShipMessage.Text             = _OrderShipment.ShipMessage;
            Caption.Text                 = string.Format(Caption.Text, _OrderShipment.Order.OrderNumber);
            EditShipmentCaption.Text     = string.Format(EditShipmentCaption.Text, _OrderShipment.ShipmentNumber);
            CancelLink.NavigateUrl      += "?OrderNumber=" + _OrderShipment.Order.OrderNumber.ToString();
            TrackingNumbersLabel.Visible = (_OrderShipment.TrackingNumbers != null && _OrderShipment.TrackingNumbers.Count > 0);
            ShipGateway.DataSource       = ShipGatewayDataSource.LoadAll();
            ShipGateway.DataBind();
            trAddTrackingNumber.Visible = (_OrderShipment.TrackingNumbers.Count == 0);
        }
Exemplo n.º 3
0
        private Order LoadOrder()
        {
            // FIRST CHECK FOR ORDER
            Order order = AbleCommerce.Code.OrderHelper.GetOrderFromContext();

            if (order == null)
            {
                // NEXT CHECK FOR PAYMENT
                int     paymentId = AlwaysConvert.ToInt(Request.QueryString["PaymentId"]);
                Payment payment   = PaymentDataSource.Load(paymentId);
                if (payment != null)
                {
                    order = payment.Order;
                }
                else
                {
                    // NEXT CHECK FOR SHIPMENT
                    int           orderShipmentId = AlwaysConvert.ToInt(Request.QueryString["OrderShipmentId"]);
                    OrderShipment orderShipment   = OrderShipmentDataSource.Load(orderShipmentId);
                    if (orderShipment != null)
                    {
                        order = orderShipment.Order;
                    }
                }
            }
            return(order);
        }
Exemplo n.º 4
0
        public void Page_Init(object sender, EventArgs e)
        {
            int           orderShipmentId = AlwaysConvert.ToInt(Request.QueryString["OrderShipmentId"]);
            OrderShipment orderShipment   = OrderShipmentDataSource.Load(orderShipmentId);

            if (orderShipment == null)
            {
                Response.Redirect("Default.aspx");
            }
            Caption.Text = string.Format(Caption.Text, orderShipment.ShipmentNumber, orderShipment.Order.OrderNumber);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Determines the order context for the current request.
        /// </summary>
        /// <returns>The order context for the current request.</returns>
        public static int GetOrderId()
        {
            HttpContext context = HttpContext.Current;

            if (context == null)
            {
                return(0);
            }

            //CHECK FOR ORDER # IN QUERY STRING
            int orderNumber = AlwaysConvert.ToInt(context.Request.QueryString["OrderNumber"]);

            if (orderNumber != 0)
            {
                // GET ORDER NUMBER FOR ID
                return(OrderDataSource.LookupOrderId(orderNumber));
            }

            int orderId = AlwaysConvert.ToInt(context.Request.QueryString["OrderId"]);

            if (orderId != 0)
            {
                return(orderId);
            }

            int paymentId = AlwaysConvert.ToInt(context.Request.QueryString["PaymentId"]);

            if (paymentId != 0)
            {
                Payment payment = PaymentDataSource.Load(paymentId);
                if (payment != null)
                {
                    return(payment.OrderId);
                }
            }
            int shipmentId = AlwaysConvert.ToInt(context.Request.QueryString["OrderShipmentId"]);

            if (shipmentId != 0)
            {
                OrderShipment shipment = OrderShipmentDataSource.Load(shipmentId);
                if (shipment != null)
                {
                    return(shipment.OrderId);
                }
            }
            return(0);
        }
        protected void MergeButton_Click(object sender, EventArgs e)
        {
            int           otherShipmentId = AlwaysConvert.ToInt(ShipmentsList.SelectedValue);
            OrderShipment otherShipment   = OrderShipmentDataSource.Load(otherShipmentId);

            if (otherShipment != null)
            {
                foreach (OrderItem item in _OrderShipment.OrderItems)
                {
                    item.OrderShipmentId = otherShipmentId;
                    item.Save();
                }
                _OrderShipment.OrderItems.Clear();
                _OrderShipment.Delete();
            }
            Response.Redirect(CancelLink.NavigateUrl);
        }
Exemplo n.º 7
0
        protected void Page_Init(object sender, EventArgs e)
        {
            int shipmentId = AlwaysConvert.ToInt(Request.QueryString["ShipmentId"]);

            _OrderShipment = OrderShipmentDataSource.Load(shipmentId);
            if (_OrderShipment == null)
            {
                int orderId     = AbleCommerce.Code.PageHelper.GetOrderId();
                int orderNumber = OrderDataSource.LookupOrderNumber(orderId);
                Response.Redirect("Default.aspx?OrderNumber=" + orderNumber.ToString());
            }
            Caption.Text            = string.Format(Caption.Text, _OrderShipment.ShipmentNumber, _OrderShipment.Order.OrderNumber);
            CancelLink.NavigateUrl += "?OrderNumber=" + _OrderShipment.Order.OrderNumber.ToString();
            //ADD ITEMS TO SHIPMENTS LIST
            _ShipmentChoices = new List <ListItem>();
            _ShipmentChoices.Add(new ListItem(""));
            foreach (OrderShipment shipment in _OrderShipment.Order.Shipments)
            {
                if (!shipment.IsShipped && (shipment.Id != shipmentId))
                {
                    string address = string.Format("{0} {1} {2} {3}", shipment.ShipToFirstName, shipment.ShipToLastName, shipment.ShipToAddress1, shipment.ShipToCity);
                    if (address.Length > 50)
                    {
                        address = address.Substring(0, 47) + "...";
                    }
                    string name = "Shipment #" + shipment.ShipmentNumber + " to " + address;
                    _ShipmentChoices.Add(new ListItem(name, shipment.Id.ToString()));
                }
            }
            _ShipmentChoices.Add(new ListItem("New shipment...", "0"));
            //BIND ITEMS
            ShipmentItems.DataSource = _OrderShipment.OrderItems;
            ShipmentItems.DataBind();
            //BIND THE MOVE LOCATIONS
            foreach (GridViewRow row in ShipmentItems.Rows)
            {
                DropDownList shipment = (DropDownList)row.FindControl("Shipment");
                if (shipment != null)
                {
                    shipment.Items.AddRange(_ShipmentChoices.ToArray());
                }
            }
        }
        protected void Page_Init(object sender, EventArgs e)
        {
            int shipmentId = AlwaysConvert.ToInt(Request.QueryString["ShipmentId"]);

            _OrderShipment = OrderShipmentDataSource.Load(shipmentId);
            if (_OrderShipment == null)
            {
                int orderId     = AbleCommerce.Code.PageHelper.GetOrderId();
                int orderNumber = OrderDataSource.LookupOrderNumber(orderId);
                Response.Redirect("Default.aspx?OrderNumber=" + orderNumber.ToString());
            }
            Caption.Text            = string.Format(Caption.Text, _OrderShipment.ShipmentNumber);
            CancelLink.NavigateUrl += "?OrderNumber=" + _OrderShipment.Order.OrderNumber.ToString();

            // BIND ITEMS
            ShipTo.Text              = _OrderShipment.FormatToAddress(true);
            ShipFrom.Text            = _OrderShipment.FormatFromAddress(true);
            ShippingMethod.Text      = _OrderShipment.ShipMethodName;
            ShipmentItems.DataSource = _OrderShipment.OrderItems;
            ShipmentItems.DataBind();
        }
Exemplo n.º 9
0
        protected void UpdateButton_Click(object sender, EventArgs e)
        {
            bool          itemFound    = false;
            OrderShipment newShipment  = null;
            OrderShipment moveShipment = null;

            foreach (GridViewRow row in ShipmentItems.Rows)
            {
                HiddenField hf          = (HiddenField)row.FindControl("Id");
                int         orderItemId = AlwaysConvert.ToInt(hf.Value);
                int         index       = _OrderShipment.OrderItems.IndexOf(orderItemId);
                if (index > -1)
                {
                    TextBox      tb  = (TextBox)row.FindControl("MoveQty");
                    short        qty = AlwaysConvert.ToInt16(tb.Text);
                    DropDownList ddl = (DropDownList)row.FindControl("Shipment");
                    string       selectedShipment = Request.Form[ddl.UniqueID];
                    if ((qty > 0) && (!string.IsNullOrEmpty(selectedShipment)))
                    {
                        OrderItem orderItem = _OrderShipment.OrderItems[index];
                        itemFound = true;
                        int shipmentId = AlwaysConvert.ToInt(selectedShipment);
                        moveShipment = OrderShipmentDataSource.Load(shipmentId);
                        if (moveShipment == null)
                        {
                            if (newShipment == null)
                            {
                                newShipment = _OrderShipment.Copy();
                                newShipment.Save();
                            }
                            moveShipment = newShipment;
                        }
                        if (qty < orderItem.Quantity)
                        {
                            //SPLIT PART OF THIS ITEM TO ANOTHER SHIPMENT
                            OrderItem splitItem = OrderItem.Copy(orderItem.Id, false);
                            splitItem.Quantity        = qty;
                            splitItem.OrderShipmentId = moveShipment.Id;
                            splitItem.Save();
                            if (orderItem.ParentItemId == orderItem.Id)
                            {
                                splitItem.ParentItemId = splitItem.Id;
                                splitItem.Save();
                            }
                            moveShipment.OrderItems.Add(splitItem);
                            orderItem.Quantity -= qty;
                            orderItem.Save();
                        }
                        else
                        {
                            //MOVE WHOLE ITEM TO ANOTHER SHIPMENT
                            orderItem.OrderShipmentId = moveShipment.Id;
                            orderItem.Save();
                            _OrderShipment.OrderItems.RemoveAt(index);
                        }
                    }
                }
            }

            if (itemFound)
            {
                Response.Redirect(CancelLink.NavigateUrl);
            }
            else
            {
                CustomValidator quantityError = new CustomValidator();
                quantityError.ErrorMessage = "You must pick at least one item to move.";
                quantityError.Text         = "&nbsp;";
                quantityError.IsValid      = false;
                phQuantityValidation.Controls.Add(quantityError);
            }
        }
Exemplo n.º 10
0
        protected void Page_Init(object sender, EventArgs e)
        {
            int shipmentId = AlwaysConvert.ToInt(Request.QueryString["OrderShipmentId"]);

            _OrderShipment = OrderShipmentDataSource.Load(shipmentId);
            if (_OrderShipment == null)
            {
                Response.Redirect("../Default.aspx");
            }
            _Order                   = _OrderShipment.Order;
            Caption.Text             = string.Format(Caption.Text, _Order.OrderNumber);
            ShipmentNumber.Text      = string.Format(ShipmentNumber.Text, _Order.Shipments.IndexOf(_OrderShipment.Id) + 1, _Order.Shipments.Count);
            ShippingMethod.Text      = _OrderShipment.ShipMethodName;
            trShipMessage.Visible    = !string.IsNullOrEmpty(_OrderShipment.ShipMessage);
            ShipMessage.Text         = _OrderShipment.ShipMessage;
            ShipFrom.Text            = _OrderShipment.FormatFromAddress();
            ShipTo.Text              = _OrderShipment.FormatToAddress();
            ShipmentItems.DataSource = GetShipmentItems();
            ShipmentItems.DataBind();

            // check if ship gateway supports shipping feature
            CommerceBuilder.Shipping.ShipGateway shipGateway = _OrderShipment.ShipMethod != null ?_OrderShipment.ShipMethod.ShipGateway : null;
            IShippingProvider shipProvider = null;

            if (shipGateway != null)
            {
                shipProvider = shipGateway.GetProviderInstance();
                _IsProviderSupportShipping = shipProvider != null && shipProvider.IsShippingSupported;
            }

            ShipGateway.DataSource = ShipGatewayDataSource.LoadAll();
            ShipGateway.DataBind();
            if (ShipGateway.Items.Count > 1)
            {
                //TRY TO PRESET THE CORRECT GATEWAY
                if (_OrderShipment.ShipMethod != null)
                {
                    ListItem item = ShipGateway.Items.FindByValue(_OrderShipment.ShipMethod.ShipGatewayId.ToString());
                    if (item != null)
                    {
                        item.Selected = true;
                    }
                }
            }
            else
            {
                ShipGateway.Visible = false;
            }

            if (_IsProviderSupportShipping)
            {
                autoTrackingInputPanel.Visible = true;

                // update the provider name
                ProviderInstructionText.Text    = string.Format(ProviderInstructionText.Text, shipProvider.Name);
                ProviderInstructionText.Visible = true;
            }
            else
            {
                autoTrackingInputPanel.Visible = false;
            }

            CancelButton.NavigateUrl += "?OrderNumber=" + _OrderShipment.Order.OrderNumber.ToString();
        }