Exemplo n.º 1
0
    protected void grdProducts_ItemDataBound(object sender, GridItemEventArgs e)
    {
        if (e.Item is GridDataItem)
        {
            GridEditableItem item    = e.Item as GridEditableItem;
            Products         product = e.Item.DataItem as Products;

            if (DealProducts != null)
            {
                ProductsChildRelationship dealProduct = DealProducts.Where(dp => dp.ChildProductId == product.ProductID).FirstOrDefault();
                if (dealProduct != null)
                {
                    CheckBox          chk            = item.FindControl("OptionCheckBox") as CheckBox;
                    RadNumericTextBox quantity       = item.FindControl("Quantity") as RadNumericTextBox;
                    RadNumericTextBox unitPrice      = item.FindControl("UnitPrice") as RadNumericTextBox;
                    RadNumericTextBox FreeTopping    = item.FindControl("FreeTopping") as RadNumericTextBox;
                    CheckBox          isCustomizable = item.FindControl("AllowCustomization") as CheckBox;

                    chk.Checked            = true;
                    quantity.Text          = dealProduct.Quantity.ToString();
                    unitPrice.Text         = dealProduct.UnitPrice.ToString();
                    FreeTopping.Text       = dealProduct.NumberOfFreeTopping.ToString();
                    isCustomizable.Checked = dealProduct.IsCustomizable;
                }
            }
        }
    }
Exemplo n.º 2
0
    private void AddChildProducts()
    {
        GridItemCollection collection = grdProducts.Items;
        int  MainProductID            = 0;
        bool validate = true;

        if (!string.IsNullOrEmpty(QueryStringParamID))
        {
            MainProductID = int.Parse(QueryStringParamID);
        }
        else if (ViewStateID != null)
        {
            MainProductID = (int)ViewStateID;
        }


        ICollection <ProductsChildRelationship> comboItems = new List <ProductsChildRelationship>();

        foreach (GridItem item in collection)
        {
            GridEditableItem editableItem    = item as GridEditableItem;
            int               id             = (int)editableItem.GetDataKeyValue("ProductID");
            CheckBox          chk            = item.FindControl("OptionCheckBox") as CheckBox;
            RadNumericTextBox quantity       = item.FindControl("Quantity") as RadNumericTextBox;
            RadNumericTextBox unitPrice      = item.FindControl("UnitPrice") as RadNumericTextBox;
            RadNumericTextBox FreeTopping    = item.FindControl("FreeTopping") as RadNumericTextBox;
            CheckBox          isCustomizable = item.FindControl("AllowCustomization") as CheckBox;

            if (chk.Checked)
            {
                if (!String.IsNullOrEmpty(quantity.Text) && !String.IsNullOrEmpty(unitPrice.Text))
                {
                    ProductsChildRelationship childProduct = new ProductsChildRelationship();
                    childProduct.ParentProductsId = MainProductID;
                    childProduct.ChildProductId   = id;
                    childProduct.Quantity         = Convert.ToInt16(quantity.Text);
                    childProduct.UnitPrice        = Convert.ToDouble(unitPrice.Text);
                    childProduct.IsCustomizable   = isCustomizable.Checked;
                    if (!String.IsNullOrEmpty(FreeTopping.Text))
                    {
                        childProduct.NumberOfFreeTopping = Convert.ToInt16(FreeTopping.Text);
                    }
                    comboItems.Add(childProduct);
                }
                else
                {
                    validate = false;
                    break;
                }
            }
        }

        if (validate)
        {
            if (comboItems.Count > 0)
            {
                int result = productManager.AddComboDealProducts(comboItems);
                ShowMessage("Combo items are saved successfully.", MessageType.Success);
                GetDealOptionsByProductId(MainProductID);
                GetOptionsForDeal();
                ComboOptions.DataBind();
                //GetAdonsForDeal();
                //ComboAdons.DataBind();
                RadTabStrip1.Tabs[2].Visible        = true;
                RadTabStrip1.Tabs[2].Selected       = true;
                RadMultiPage1.PageViews[2].Selected = true;
            }
            else
            {
                ShowMessage("You have selected no option for combo deal.", MessageType.Error);
            }
        }
        else
        {
            ShowMessage("Error! Missing values. Please fill out Quantity and Unit price when adding as combo deal.", MessageType.Error);
        }
    }