protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e) { if (e.CommandName == "QuickUpdate") { string ProjectCategoryID, IsShowOnMenu, IsShowOnHomePage, IsAvailable; var oProjectCategory = new ProjectCategory(); foreach (GridDataItem item in RadGrid1.Items) { ProjectCategoryID = item.GetDataKeyValue("ProjectCategoryID").ToString(); IsShowOnMenu = ((CheckBox)item.FindControl("chkIsShowOnMenu")).Checked.ToString(); IsShowOnHomePage = ((CheckBox)item.FindControl("chkIsShowOnHomePage")).Checked.ToString(); IsAvailable = ((CheckBox)item.FindControl("chkIsAvailable")).Checked.ToString(); oProjectCategory.ProjectCategoryQuickUpdate( ProjectCategoryID, IsShowOnMenu, IsShowOnHomePage, IsAvailable ); } } else if (e.CommandName == "DeleteSelected") { var oProjectCategory = new ProjectCategory(); var errorList = ""; foreach (GridDataItem item in RadGrid1.SelectedItems) { var isChildCategoryExist = oProjectCategory.ProjectCategoryIsChildrenExist(item.GetDataKeyValue("ProjectCategoryID").ToString()); var ProjectCategoryName = ((Label)item.FindControl("lblProjectCategoryName")).Text; var ProjectCategoryNameEn = ((Label)item.FindControl("lblProjectCategoryNameEn")).Text; if (isChildCategoryExist) { errorList += ", " + ProjectCategoryName; } else { string strImageName = ((HiddenField)item.FindControl("hdnImageName")).Value; if (!string.IsNullOrEmpty(strImageName)) { string strSavePath = Server.MapPath("~/res/projectcategory/" + 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 strProjectCategoryName = ((RadTextBox)row.FindControl("txtProjectCategoryName")).Text.Trim(); string strProjectCategoryNameEn = ((RadTextBox)row.FindControl("txtProjectCategoryNameEn")).Text.Trim(); string strConvertedProjectCategoryName = Common.ConvertTitle(strProjectCategoryName); 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 oProjectCategory = new ProjectCategory(); if (e.CommandName == "PerformInsert") { strImageName = oProjectCategory.ProjectCategoryInsert( strProjectCategoryName, strProjectCategoryNameEn, strConvertedProjectCategoryName, strDescription, strDescriptionEn, strContent, strContentEn, strMetaTitle, strMetaTitleEn, strMetaDescription, strMetaDescriptionEn, strImageName, strParentID, strIsShowOnMenu, strIsShowOnHomePage, strIsAvailable ); string strFullPath = "~/res/projectcategory/" + 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 strProjectCategoryID = row.GetDataKeyValue("ProjectCategoryID").ToString(); var strOldImageName = ((HiddenField)row.FindControl("hdnImageName")).Value; var strOldImagePath = Server.MapPath("~/res/projectcategory/" + strOldImageName); dsUpdateParam["ProjectCategoryName"].DefaultValue = strProjectCategoryName; dsUpdateParam["ProjectCategoryNameEn"].DefaultValue = strProjectCategoryNameEn; dsUpdateParam["ConvertedProjectCategoryName"].DefaultValue = strConvertedProjectCategoryName; 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/projectcategory/" + strConvertedProjectCategoryName + "-" + strProjectCategoryID + 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 oProjectCategory = new ProjectCategory(); var lnkDeleteImage = (LinkButton)e.CommandSource; var s = lnkDeleteImage.Attributes["rel"].ToString().Split('#'); var strProjectCategoryID = s[0]; var strImageName = s[1]; oProjectCategory.ProjectCategoryImageDelete(strProjectCategoryID); DeleteImage(strImageName); RadGrid1.Rebind(); } }