lwordservice.cs

来自「该项目中对 SQLHelper 类进行了简单封装」· CS 代码 · 共 156 行

CS
156
字号
/* 
 * LWordService.cs @Microsoft Visual Studio 2005 <.NET Framework 2.0>
 * AfritXia
 * 2007-12-18
 * 
 * Copyright(c) http://www.AfritXia.NET/
 * 
 */

using System;
using System.Collections.Generic;

using NET.AfritXia.MyHome.DBTask.Definition;
using NET.AfritXia.MyHome.Extension.Definition;
using NET.AfritXia.MyHome.Model.Message;
using NET.AfritXia.MyHome.ServiceInterface;

namespace NET.AfritXia.MyHome.InternalService
{
	/// <summary>
	/// 留言服务实现类
	/// </summary>
	public class LWordService : ServiceBase, ILWordService
	{
		#region 类构造器
		/// <summary>
		/// 类默认构造器
		/// </summary>
		public LWordService()
		{
		}
		#endregion

		#region ILWordService 成员
		public void Append(LWord newLWord)
		{
			using (IDBTaskTransaction tranx = MyDBTaskFactory.CreateDBTaskTransaction())
			{
				// 创建留言板数据库任务
				ILWordTask task = MyDBTaskFactory.CreateLWordTask();
				// 创建留言板扩展
				ILWordExtension ext = MyExtensionFactory.CreateLWordExtension();

				// 登记数据库事务
				task.EnlistTransaction(tranx);
				ext.EnlistTransactionObject(tranx);

				// 设置活动用户名称
				ext.Actor = this.Actor;

				try
				{
					// 准备添加留言
					ext.OnPreAppend(newLWord);
					// 添加留言
					task.Append(newLWord);
					// 添加留言完成
					ext.OnAppendComplete(newLWord);

					// 提交事务
					tranx.Commit();
				}
				catch
				{
					// 回滚事务
					tranx.Rollback();
					throw;
				}
			}
		}

		public void Delete(int lwordUID)
		{
			using (IDBTaskTransaction tranx = MyDBTaskFactory.CreateDBTaskTransaction())
			{
				// 创建留言板数据库任务
				ILWordTask task = MyDBTaskFactory.CreateLWordTask();
				// 创建留言板扩展
				ILWordExtension ext = MyExtensionFactory.CreateLWordExtension();

				// 登记数据库事务
				task.EnlistTransaction(tranx);
				ext.EnlistTransactionObject(tranx);

				// 设置活动用户名称
				ext.Actor = this.Actor;

				try
				{
					// 获取要删除的留言
					LWord delLWord = task.ViewLWord(lwordUID);

					// 准备删除留言
					ext.OnPreAppend(delLWord);
					// 删除留言
					task.Delete(lwordUID);
					// 删除留言完成
					ext.OnAppendComplete(delLWord);

					// 提交事务
					tranx.Commit();
				}
				catch
				{
					// 回滚事务
					tranx.Rollback();
					throw;
				}
			}
		}

		public IList<LWord> ViewLWordList(int startRecord, int maxRecords, out int allRecordCount)
		{
			allRecordCount = 0;

			IList<LWord> viewLWordList = null;

			using (IDBTaskTransaction tranx = MyDBTaskFactory.CreateDBTaskTransaction())
			{
				// 创建留言板数据库任务
				ILWordTask task = MyDBTaskFactory.CreateLWordTask();
				// 创建留言板扩展
				ILWordExtension ext = MyExtensionFactory.CreateLWordExtension();

				// 登记数据库事务
				task.EnlistTransaction(tranx);
				ext.EnlistTransactionObject(tranx);

				// 设置活动用户名称
				ext.Actor = this.Actor;

				try
				{
					// 准备浏览留言列表
					ext.OnPreViewLWordList();
					// 浏览留言列表
					viewLWordList = task.ViewLWordList(startRecord, maxRecords, out allRecordCount);
					// 浏览留言列表完成
					ext.OnViewLWordListComplete(viewLWordList);

					// 提交事务
					tranx.Commit();
				}
				catch
				{
					// 回滚事务
					tranx.Rollback();
					throw;
				}
			}

			return viewLWordList;
		}
		#endregion
	}
}

⌨️ 快捷键说明

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