using System; using System.Data; using CMS.GlobalHelper; using CMS.SiteProvider; using CMS.UIControls; using CMS.SettingsProvider; using System.Web.UI.WebControls; [Actions(1)] [Action(0, "Objects/CMS_Banner/add.png", "banner.bannercategory_edit_banner.newbanner", "~/CMSModules/BannerManagement/Tools/Banner/Banner_New.aspx?siteid={?siteid?}&categoryid={?categoryid?}")] [EditedObject(SiteObjectType.BANNERCATEGORY, "categoryid")] public partial class CMSModules_BannerManagement_Tools_Category_Category_Edit_Banners : CMSBannerManagementEditPage { #region "Page events" protected void Page_Load(object sender, EventArgs e) { // Initialize the grid view this.gridBanners.OnAction += new OnActionEventHandler(gridBanners_OnAction); this.gridBanners.OnExternalDataBound += new OnExternalDataBoundEventHandler(gridBanners_OnExternalDataBound); this.gridBanners.ZeroRowsText = ResHelper.GetString("banner.bannercategory_edit_banners.nobanners"); // Look for category ID in the query string BannerCategoryInfo bci = EditedObject as BannerCategoryInfo; if (bci != null) { gridBanners.WhereCondition = "(BannerCategoryID = " + bci.BannerCategoryID + ")"; } else { gridBanners.Visible = false; gridBanners.StopProcessing = true; } } #endregion #region "UniGrid events" private void gridBanners_OnAction(string actionName, object actionArgument) { switch (actionName) { // Deleteing of the category was fired case "delete": int bannerId = ValidationHelper.GetInteger(actionArgument, -1); BannerInfoProvider.DeleteBannerInfo(bannerId); break; } } object gridBanners_OnExternalDataBound(object sender, string sourceName, object parameter) { switch (sourceName.ToLowerCSafe()) { case "bannertype": BannerTypeEnum bannerType = (BannerTypeEnum)(int)parameter; return HTMLHelper.HTMLEncode(ResHelper.GetString("banner.bannertype." + bannerType.ToString().ToLowerCSafe())); case "hitsclicksleft": if (parameter == DBNull.Value) { return "" + GetString("general.unlimited") + ""; } int value = (int)parameter; if (value == 0) { return "" + value + ""; } return value; case "delete": DataRow row = ((DataRowView)((GridViewRow)parameter).DataItem).Row; int? siteID = row.IsNull("BannerSiteID") ? (int?)null : ValidationHelper.GetInteger(row["BannerSiteID"], 0); string iconName; ImageButton button = ((ImageButton)sender); if (HasUserModifyPermission(siteID)) { iconName = "Delete"; } else { iconName = "Deletedisabled"; button.Enabled = false; } button.ImageUrl = GetImageUrl("Design/Controls/UniGrid/Actions/" + iconName + ".png"); break; } return parameter; } #endregion }