protected void grdProductCategory_ItemCommand(object source, GridCommandEventArgs e) { if (e.CommandName == RadGrid.PerformInsertCommandName) { GridEditableItem editedItem = e.Item as GridEditableItem; if (editedItem != null) { RadTextBox name = editedItem.FindControl("txtCategoryName") as RadTextBox; RadTextBox description = editedItem.FindControl("txtDescription") as RadTextBox; CheckBox enable = editedItem.FindControl("txtEnabled") as CheckBox; RadTextBox displayOrder = editedItem.FindControl("txtDisplayOrder") as RadTextBox; FileUpload txtImage = editedItem.FindControl("txtImage") as FileUpload; CheckBox txtDisplayOnHomePage = editedItem.FindControl("txtDisplayOnHomePage") as CheckBox; CheckBox txtDisplayOnWebSite = editedItem.FindControl("txtDisplayOnWebSite") as CheckBox; CheckBox txtDisplayOnDesktop = editedItem.FindControl("txtDisplayOnDesktop") as CheckBox; if (!string.IsNullOrEmpty(name.Text)) { try { ProductCategory category = new ProductCategory(); category.Name = name.Text; category.Description = description.Text; category.IsActive = enable.Checked; category.DisplayOrder = Convert.ToInt16(displayOrder.Text); category.DisplayOnHomePage = txtDisplayOnHomePage.Checked; category.WebCategory = txtDisplayOnWebSite.Checked; category.DesktopCategory = txtDisplayOnDesktop.Checked; string filename = string.Empty; if (txtImage.HasFile) { filename = Guid.NewGuid().ToString() + System.IO.Path.GetExtension(txtImage.FileName); } category.ImagePath = filename; entities.ProductCategories.Add(category); int value = entities.SaveChanges(); if (value > 0) { if (txtImage.HasFile) { String path = Server.MapPath("~/Products/Category/"); txtImage.SaveAs(path + filename); ThumbImage(path + filename, path + "S_" + filename, 60, 60); ThumbImage(path + filename, path + "M_" + filename, 200, 110); ThumbImage(path + filename, path + "L_" + filename, 280, 180); } } ShowMessage("Product category has been saved successfully.", MessageType.Success); } catch (Exception ex) { //RadAjaxManager1.Alert("Error occured while updating Category Record. Error Detail ->" + ex.Message); } } } } else if (e.CommandName == RadGrid.UpdateCommandName) { GridEditableItem editedItem = e.Item as GridEditableItem; if (editedItem != null) { RadTextBox name = editedItem.FindControl("txtCategoryName") as RadTextBox; RadTextBox description = editedItem.FindControl("txtDescription") as RadTextBox; CheckBox enable = editedItem.FindControl("txtEnabled") as CheckBox; RadTextBox displayOrder = editedItem.FindControl("txtDisplayOrder") as RadTextBox; FileUpload txtImage = editedItem.FindControl("txtImage") as FileUpload; CheckBox txtDisplayOnHomePage = editedItem.FindControl("txtDisplayOnHomePage") as CheckBox; CheckBox txtDisplayOnWebSite = editedItem.FindControl("txtDisplayOnWebSite") as CheckBox; CheckBox txtDisplayOnDesktop = editedItem.FindControl("txtDisplayOnDesktop") as CheckBox; Label error = editedItem.FindControl("error") as Label; if (!string.IsNullOrEmpty(name.Text)) { try { Telerik.Web.UI.DataKey key = e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]; short id = (short)key["CategoryID"]; ProductCategory category = (from c in entities.ProductCategories where c.CategoryID == id select c).FirstOrDefault(); if (category != null) { using (TransactionScope transaction = new TransactionScope()) { category.Name = name.Text; category.Description = description.Text; category.IsActive = enable.Checked; category.DisplayOrder = Convert.ToInt16(displayOrder.Text); category.DisplayOnHomePage = txtDisplayOnHomePage.Checked; category.WebCategory = txtDisplayOnWebSite.Checked; category.DesktopCategory = txtDisplayOnDesktop.Checked; string filename = string.Empty; if (txtImage.HasFile) { filename = Guid.NewGuid().ToString() + System.IO.Path.GetExtension(txtImage.FileName); category.ImagePath = filename; } int value = entities.SaveChanges(); transaction.Complete(); if (value > 0) { if (txtImage.HasFile) { String path = Server.MapPath("~/Products/Category/"); txtImage.SaveAs(path + filename); ThumbImage(path + filename, path + "S_" + filename, 60, 60); ThumbImage(path + filename, path + "M_" + filename, 200, 110); ThumbImage(path + filename, path + "L_" + filename, 280, 180); } } ShowMessage("Product category has been saved successfully.", MessageType.Success); } } } catch (Exception ex) { //RadAjaxManager1.Alert("Error occured while updating Category Record. Error Detail ->" + ex.Message); } } else { error.Text = "Enter required valid values."; e.Canceled = true; } BindData(); } } else if (e.CommandName == RadGrid.DeleteCommandName) { GridEditableItem item = e.Item as GridEditableItem; Int16 id = (Int16)item.GetDataKeyValue("CategoryID"); try { int result = _categoryManager.DeleteProductCategory(id); if (result > 0) { BindData(); } } catch (Exception ex) { txtError.Text = (ex.InnerException != null) ? ex.InnerException.Message : ex.Message; } } }