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; } } } }
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); } }