All pastes #286914 Raw Edit

Unnamed

public text v1 · immutable
#286914 ·published 2006-12-21 00:18 UTC
rendered paste body
        public static BannerCollection FetchBannersByPageTemplateAndRegion(string templateCode, string regionCode, Int32 returnRows, string relativePath)
        {
            Banner banner = null;
            BannerCollection collection = new BannerCollection();

            Database db = Global.CreateDatabase();

            DbCommand command = db.GetSqlStringCommand("SELECT TOP " + returnRows.ToString() +
                " banner_BannerAds.BannerId, banner_BannerAds.Code, " +
                "banner_BannerAds.Name, banner_BannerAds.BannerFile, banner_BannerAds.CodeSnippet " + 
                "FROM banner_BannerAds WHERE BannerID IN " + 
                "(SELECT banner_BannerAds.BannerId " + 
                "FROM banner_BannerAds " +
                "INNER JOIN banner_BannerPageTemplates ON banner_BannerAds.BannerId = banner_BannerPageTemplates.BannerId " +
                "INNER JOIN site_PageTemplates ON banner_BannerPageTemplates.TemplateId = site_PageTemplates.TemplateId " +
                "INNER JOIN banner_BannerDestinations ON banner_BannerAds.BannerId = banner_BannerDestinations.BannerId " +
                "INNER JOIN travel_Destinations ON banner_BannerDestinations.DestinationId = travel_Destinations.DestinationId " +
                "WHERE IsActive = 1 AND site_PageTemplates.Code = @TemplateCode " + 
                "AND travel_Destinations.RegionId IN (SELECT RegionId FROM Regions WHERE Code = @RegionCode)) " +
                "ORDER BY NEWID()");

            db.AddInParameter(command, "@TemplateCode", DbType.String, templateCode);
            db.AddInParameter(command, "@RegionCode", DbType.String, regionCode);

            using (IDataReader dr = db.ExecuteReader(command))
            {
                while (dr.Read())
                {
                    banner = new Banner();

                    banner._bannerId = dr.GetInt32(0);
                    banner._code = dr.GetString(1);
                    banner._name = dr.GetString(2);
                    banner._bannerFile = dr.GetString(3);
                    banner._codeSnippet = FunctionsPlus.FunctionsPlus.Replace(dr.GetString(4), "~/", relativePath);

                    collection.Add(banner);
                }
            }

            return collection;

        }