GIF89;a GIF89;a using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using Globals; public partial class PublicMasterPage : System.Web.UI.MasterPage { protected void Page_Load(object sender, EventArgs e) { } Random rnd = new Random(); DataSet m_banners = new DataSet(); protected void Page_PreRender(object sender, EventArgs e) { BusinessLayer.Controllers.ControllerBanner banner = new BusinessLayer.Controllers.ControllerBanner(); m_banners = banner.GetBaners(); if (m_banners.Tables[0].Rows.Count == 0) return; Hashtable banners = new Hashtable(); Hashtable temp = new Hashtable(); banners.Add(bannerA1,bannerA1.ID); if (banners.ContainsValue(bannerA2.ID) == true) { bannerA2 = FixBanner(banners, bannerA2, rnd.NextDouble()); } banners.Add(bannerA2, bannerA2.ID); if (banners.ContainsValue(bannerA3.ID) == true) { bannerA3 = FixBanner(banners, bannerA3, rnd.NextDouble()); } banners.Add(bannerA3, bannerA3.ID); if (banners.ContainsValue(bannerA4.ID) == true) { bannerA4 = FixBanner(banners, bannerA4, rnd.NextDouble()); } banners.Add(bannerA4, bannerA4.ID); if(Page.AppRelativeVirtualPath.IndexOf("KerenNeemanut.aspx") > -1) { AddBanner(ref banners); AddBanner(ref banners); AddBanner(ref banners); AddBanner(ref banners); AddBanner(ref banners); AddBanner(ref banners); } } private void AddBanner(ref Hashtable p_banners) { Panel panel = (Panel)FindControl("pnlBanners"); ASP.controls_bannera_ascx banner5 = new ASP.controls_bannera_ascx(); banner5 = (ASP.controls_bannera_ascx)LoadControl("Controls/bannerA.ascx"); banner5.Size = BannerSize.Medium; banner5.Type = BannerType.Picture; panel.Controls.Add(banner5); banner5 = FixBanner(p_banners, banner5, rnd.NextDouble()); if (banner5.Visible == false) panel.Controls.Remove(banner5); else p_banners.Add(banner5, banner5.ID); banner5 = null; } private ASP.controls_bannera_ascx FixBanner(Hashtable banners, ASP.controls_bannera_ascx currentBanner, double p_random) { bool bannerFixed = false; for (int count = 0; count < 8; ++count) { currentBanner.SetBanner(p_random); if (banners.ContainsValue(currentBanner.ID) == false) { bannerFixed = true; break; } } if (bannerFixed == false) { currentBanner.Visible = false; } return currentBanner; } }