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

📄 list.cs

📁 wrox c#高级编程
💻 CS
字号:
using System;
using System.Data;
using System.Web.Mail;
using System.Data.SqlClient;
 
namespace Wrox.WebModules.MailingLists.Business
{
	/// <summary>
	/// Summary description for List.
	/// </summary>
	public sealed class List : Wrox.WebModules.Business.BizObject
	{	
		private Configuration.ModuleSettings settings;	
		private int listID;
		private string name;
		private string description;
		
		// constructors
		public List()
		{ 
			settings = Configuration.ModuleConfig.GetSettings();
			ResetProperties();
		}

		public List(int existingListID)
		{			
			settings = Configuration.ModuleConfig.GetSettings();
			listID = existingListID;
			LoadFromID();						
		}

		public List(List existingList)
		{									
			settings = Configuration.ModuleConfig.GetSettings();
			listID = existingList.ID;
			LoadFromID();
		}
		
		// retrieve the values for the properties
		private void LoadFromID()
		{
			Data.Lists lists = new Data.Lists(settings.ConnectionString);
			Data.ListDetails details = lists.GetDetails(listID);

			listID = details.ListID;
			name = details.Name;
			description = details.Description;
		}

		public int LoadFromID(int existingListID)
		{
			listID = existingListID;
			LoadFromID();
			return listID;
		}

		// reset the properties
		private void ResetProperties()
		{
			listID = -1;
			name = "";
			description = "";
		}

		// create a new record
		public int Create(string listName, string listDescription)
		{		
			Data.Lists lists = new Data.Lists(settings.ConnectionString);
			listID = lists.Add(listName, listDescription);
			LoadFromID();
			return listID;
		}

		// update the record represented by this object
		public bool Update()
		{
			Data.Lists lists = new Data.Lists(settings.ConnectionString);
			return lists.Update(listID, name, description);
		}

		// delete the record represented by this object
		public bool Delete()
		{
			Data.Lists lists = new Data.Lists(settings.ConnectionString);
			bool ret = lists.Delete(listID);
			ResetProperties();
			return ret;
		}

		// return the lists
		public static DataSet GetLists()
		{
			Configuration.ModuleSettings settings = Configuration.ModuleConfig.GetSettings();
			Data.Lists lists = new Data.Lists(settings.ConnectionString);
			return lists.GetLists();
		}
		
		// return the child newsletters
		public DataSet GetNewsletters()
		{
			Data.Newsletters newsletters = new Data.Newsletters(settings.ConnectionString);
			return newsletters.GetNewsletters(listID);
		}

		// return the child subscriptions
		public DataSet GetSubscriptions()
		{
			return GetSubscriptions(false);
		}

		// return the child subscriptions
		public DataSet GetSubscriptions(bool activeOnly)
		{
			Data.Subscriptions subscriptions = new Data.Subscriptions(settings.ConnectionString);
			return subscriptions.GetSubscriptions(listID, activeOnly);
		}

		// send out a newsletter to the list
		public Newsletter SendNewsletter(string subject, string body, bool isHTML, 
			MailPriority priority, bool saveToDB, out int totalNewsletters)
		{
			Business.Newsletter newsletter = new Business.Newsletter();
			newsletter.Send(listID, subject, body, isHTML, priority, saveToDB, out totalNewsletters);
			return newsletter;
		}

		public Newsletter SendNewsletter(string subject, string body, bool isHTML, 
			MailPriority priority, bool saveToDB)
		{
			Business.Newsletter newsletter = new Business.Newsletter();
			newsletter.Send(listID, subject, body, isHTML, priority, saveToDB);
			return newsletter;
		}

		
		// add a new child subscription
		public Subscription AddSubscription(string firstName, string lastName, string email, bool active)
		{
			Business.Subscription subscription = new Business.Subscription();
			subscription.Create(listID, firstName, lastName, email, active);
			return subscription;
		}

		// add a new subscription, but also send the confirmation if required
		public Subscription Subscribe(string firstName, string lastName, string email, 
			out string subjectText, out string messageText)
		{	
			Business.Subscription subscription = new Business.Subscription();
			subscription.Subscribe(listID, firstName, lastName, 
				email, out subjectText, out messageText);
			return subscription;
		}
		
		// remove a subscription, but also send the confirmation if required
		public bool Unsubscribe(string email, out string subjectText, out string messageText)
		{
			return new Business.Subscription().Unsubscribe(listID, email, 
				out subjectText, out messageText);
		}


		// PROPERTIES DEFINED BELOW

		public int ID
		{
			get { return listID; }
		}

		public string Name
		{
			get { return name; }
			set { name = value; }
		}

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

	}
}

⌨️ 快捷键说明

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