protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e) { if (e.CommandName == "QuickUpdate") { string ServiceCategoryID, IsShowOnMenu, IsShowOnHomePage, IsAvailable; var oServiceCategory = new ServiceCategory(); foreach (GridDataItem item in RadGrid1.Items) { ServiceCategoryID = item.GetDataKeyValue("ServiceCategoryID").ToString(); IsShowOnMenu = ((CheckBox)item.FindControl("chkIsShowOnMenu")).Checked.ToString(); IsShowOnHomePage = ((CheckBox)item.FindControl("chkIsShowOnHomePage")).Checked.ToString(); IsAvailable = ((CheckBox)item.FindControl("chkIsAvailable")).Checked.ToString(); oServiceCategory.ServiceCategoryQuickUpdate( ServiceCategoryID, IsShowOnMenu, IsShowOnHomePage, IsAvailable ); } } else if (e.CommandName == "DeleteSelected") { var oServiceCategory = new ServiceCategory(); var errorList = ""; foreach (GridDataItem item in RadGrid1.SelectedItems) { var isChildCategoryExist = oServiceCategory.ServiceCategoryIsChildrenExist(item.GetDataKeyValue("ServiceCategoryID").ToString()); var ServiceCategoryName = ((Label)item.FindControl("lblServiceCategoryName")).Text; var ServiceCategoryNameEn = ((Label)item.FindControl("lblServiceCategoryNameEn")).Text; if (isChildCategoryExist) { errorList += ", " + ServiceCategoryName; } else { string strImageName = ((HiddenField)item.FindControl("hdnImageName")).Value; if (!string.IsNullOrEmpty(strImageName)) { string strSavePath = Server.MapPath("~/res/servicecategory/" + strImageName); if (File.Exists(strSavePath)) File.Delete(strSavePath); } } } if (!string.IsNullOrEmpty(errorList)) { e.Canceled = true; string strAlertMessage = "Danh mục <b>\"" + errorList.Remove(0, 1).Trim() + "\"</b> đang có danh mục con hoặc sản phẩm.<br /> Xin xóa danh mục con hoặc sản phẩm trong danh mục này hoặc thiết lập hiển thị = \"không\"."; lblError.Text = strAlertMessage; } } else if (e.CommandName == "PerformInsert" || e.CommandName == "Update") { var command = e.CommandName; var row = command == "PerformInsert" ? (GridEditFormInsertItem)e.Item : (GridEditFormItem)e.Item; var FileImageName = (RadUpload)row.FindControl("FileImageName"); string strServiceCategoryName = ((RadTextBox)row.FindControl("txtServiceCategoryName")).Text.Trim(); string strServiceCategoryNameEn = ((RadTextBox)row.FindControl("txtServiceCategoryNameEn")).Text.Trim(); string strConvertedServiceCategoryName = Common.ConvertTitle(strServiceCategoryName); string strDescription = HttpUtility.HtmlDecode(FCKEditorFix.Fix(((RadEditor)row.FindControl("txtDescription")).Content.Trim())); string strDescriptionEn = HttpUtility.HtmlDecode(FCKEditorFix.Fix(((RadEditor)row.FindControl("txtDescriptionEn")).Content.Trim())); string strContent = HttpUtility.HtmlDecode(FCKEditorFix.Fix(((RadEditor)row.FindControl("txtContent")).Content.Trim())); string strContentEn = HttpUtility.HtmlDecode(FCKEditorFix.Fix(((RadEditor)row.FindControl("txtContentEn")).Content.Trim())); string strMetaTitle = ((RadTextBox)row.FindControl("txtMetaTitle")).Text.Trim(); string strMetaTitleEn = ((RadTextBox)row.FindControl("txtMetaTitleEn")).Text.Trim(); string strMetaDescription = ((RadTextBox)row.FindControl("txtMetaDescription")).Text.Trim(); string strMetaDescriptionEn = ((RadTextBox)row.FindControl("txtMetaDescriptionEn")).Text.Trim(); string strImageName = FileImageName.UploadedFiles.Count > 0 ? FileImageName.UploadedFiles[0].GetName() : ""; string strParentID = ((RadComboBox)row.FindControl("ddlParent")).SelectedValue; string strIsAvailable = ((CheckBox)row.FindControl("chkIsAvailable")).Checked.ToString(); string strIsShowOnMenu = ((CheckBox)row.FindControl("chkIsShowOnMenu")).Checked.ToString(); string strIsShowOnHomePage = ((CheckBox)row.FindControl("chkIsShowOnHomePage")).Checked.ToString(); var oServiceCategory = new ServiceCategory(); if (e.CommandName == "PerformInsert") { strImageName = oServiceCategory.ServiceCategoryInsert( strServiceCategoryName, strServiceCategoryNameEn, strConvertedServiceCategoryName, strDescription, strDescriptionEn, strContent, strContentEn, strMetaTitle, strMetaTitleEn, strMetaDescription, strMetaDescriptionEn, strImageName, strParentID, strIsShowOnMenu, strIsShowOnHomePage, strIsAvailable ); string strFullPath = "~/res/servicecategory/" + strImageName; if (!string.IsNullOrEmpty(strImageName)) { FileImageName.UploadedFiles[0].SaveAs(Server.MapPath(strFullPath)); ResizeCropImage.ResizeByCondition(strFullPath, 40, 40); } RadGrid1.Rebind(); } else { var dsUpdateParam = ObjectDataSource1.UpdateParameters; var strServiceCategoryID = row.GetDataKeyValue("ServiceCategoryID").ToString(); var strOldImageName = ((HiddenField)row.FindControl("hdnImageName")).Value; var strOldImagePath = Server.MapPath("~/res/servicecategory/" + strOldImageName); dsUpdateParam["ServiceCategoryName"].DefaultValue = strServiceCategoryName; dsUpdateParam["ServiceCategoryNameEn"].DefaultValue = strServiceCategoryNameEn; dsUpdateParam["ConvertedServiceCategoryName"].DefaultValue = strConvertedServiceCategoryName; dsUpdateParam["Description"].DefaultValue = strDescription; dsUpdateParam["DescriptionEn"].DefaultValue = strDescriptionEn; dsUpdateParam["Content"].DefaultValue = strContent; dsUpdateParam["ContentEn"].DefaultValue = strContentEn; dsUpdateParam["ImageName"].DefaultValue = strImageName; dsUpdateParam["ParentID"].DefaultValue = strParentID; dsUpdateParam["IsShowOnMenu"].DefaultValue = strIsShowOnMenu; dsUpdateParam["IsShowOnHomePage"].DefaultValue = strIsShowOnHomePage; dsUpdateParam["IsAvailable"].DefaultValue = strIsAvailable; if (!string.IsNullOrEmpty(strImageName)) { var strFullPath = "~/res/servicecategory/" + strConvertedServiceCategoryName + "-" + strServiceCategoryID + strImageName.Substring(strImageName.LastIndexOf('.')); if (File.Exists(strOldImagePath)) File.Delete(strOldImagePath); FileImageName.UploadedFiles[0].SaveAs(Server.MapPath(strFullPath)); ResizeCropImage.ResizeByCondition(strFullPath, 40, 40); } } } if (e.CommandName == "DeleteImage") { var oServiceCategory = new ServiceCategory(); var lnkDeleteImage = (LinkButton)e.CommandSource; var s = lnkDeleteImage.Attributes["rel"].ToString().Split('#'); var strServiceCategoryID = s[0]; var strImageName = s[1]; oServiceCategory.ServiceCategoryImageDelete(strServiceCategoryID); DeleteImage(strImageName); RadGrid1.Rebind(); } }