⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 advertisement.cs

📁 wrox c#高级编程
💻 CS
字号:
using System;
using System.Web;
using System.Data;
using System.Xml;
using Wrox.WebModules.Business;

namespace Wrox.WebModules.AdsManager.Business
{
	public class Advertisement: Wrox.WebModules.Business.BizObject
	{
		private string imageUrl;
		private string navigateUrl;
		private string alternateText;
		private string keyword;
		private int impressions;
		private string trueNavigateUrl;
		
		private int advertisementId;
		private int companyId;
		private bool isActive;
		private string description;

		public Advertisement()
		{
			// constructor used when creating an empty instance.
		}

		public Advertisement(int advertId)
		{
			HttpContext context = HttpContext.Current;
			Configuration.ModuleSettings settings =
				Configuration.ModuleConfig.GetSettings();
			string xPathFind = "//Ad[NavigateUrl=\"" + settings.PassThroughPage + "?AD=" + advertId.ToString() +"\"]";

			Data.Advertisement ad = new Data.Advertisement(settings.ConnectionString);
			DataRow advertData = ad.RetrieveAd(advertId);

			advertisementId = advertId;
			description = (string)advertData["Description"];
			trueNavigateUrl = (string)advertData["TrueNavigateUrl"];
			isActive = (bool)advertData["Active"];
			companyId = (int)advertData["CompanyID"];

			// now fill up the rest of the properties with information from the XML file.
			XmlDocument adDom = new XmlDocument();
			adDom.Load( context.Server.MapPath( settings.RotatorXmlFile ) );
			XmlElement adCurrent = (XmlElement)adDom.DocumentElement.SelectSingleNode( xPathFind );
			if (adCurrent == null)
				throw new InvalidOperationException("Advertisement Selected Does not Exist in Rotator XML Source");
			
			imageUrl = adCurrent.SelectSingleNode("ImageUrl").InnerText;
			navigateUrl = adCurrent.SelectSingleNode("NavigateUrl").InnerText;
			alternateText = adCurrent.SelectSingleNode("AlternateText").InnerText;
			keyword = adCurrent.SelectSingleNode("Keyword").InnerText;
			impressions = Convert.ToInt32(adCurrent.SelectSingleNode("Impressions").InnerText);

		}

		public void RecordImpression()
		{
			Configuration.ModuleSettings settings = Configuration.ModuleConfig.GetSettings();
			Data.Advertisement currentAd = new Data.Advertisement(settings.ConnectionString);
			currentAd.RecordImpression( advertisementId );
		}

		public void RecordClick()
		{
			Configuration.ModuleSettings settings = Configuration.ModuleConfig.GetSettings();
			Data.Advertisement currentAd = new Data.Advertisement(settings.ConnectionString);
			currentAd.RecordClick( advertisementId );
		}

		public void Create()
		{
			HttpContext context = HttpContext.Current;
			Configuration.ModuleSettings settings = Configuration.ModuleConfig.GetSettings();
			Data.Advertisement newAd = new Data.Advertisement(settings.ConnectionString);
			newAd.Create( imageUrl, trueNavigateUrl, alternateText, keyword, companyId, description,
				context.Server.MapPath( settings.RotatorXmlFile ) );									
		}

		public void Update()
		{
			HttpContext context = HttpContext.Current;
			Configuration.ModuleSettings settings = Configuration.ModuleConfig.GetSettings();
			Data.Advertisement currentAd = new Data.Advertisement(settings.ConnectionString);
			currentAd.Update( advertisementId, imageUrl, trueNavigateUrl, alternateText, keyword, description,
				impressions, isActive, context.Server.MapPath( settings.RotatorXmlFile) );
		}

#region Publicly Exposed Properties

		public int Impressions
		{
			get 
			{
				return impressions;
			}
			set 
			{
				impressions = value;
			}
		}

		public string ImageUrl
		{
			get 
			{
				return imageUrl;
			}
			set 
			{
				imageUrl = value;
			}
		}

		public string NavigateUrl
		{
			get 
			{
				return navigateUrl;
			}
			set 
			{
				navigateUrl = value;
			}
		}

		public string TrueNavigateUrl
		{
			get 
			{
				return trueNavigateUrl;
			}
			set 
			{
				trueNavigateUrl = value;
			}
		}

		public string AlternateText
		{
			get 
			{
				return alternateText;
			}
			set 
			{
				alternateText = value;
			}
		}

		public string KeyWord
		{
			get 
			{
				return keyword;
			}
			set 
			{
				keyword = value;
			}
		}

		public int AdvertisementID
		{
			get 
			{
				return advertisementId;
			}
			set 
			{
				advertisementId = value;
			}
		}

		public bool IsActive
		{
			get 
			{
				return isActive;
			}
			set 
			{
				isActive = value;
			}
		}

		public string Description
		{
			get 
			{
				return description;
			}
			set 
			{
				description = value;
			}
		}

		public int CompanyID
		{
			get 
			{
				return companyId;
			}
			set 
			{
				companyId = value;
			}
		}
#endregion
	}


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -