articleservice.cs
来自「该项目中对 SQLHelper 类进行了简单封装」· CS 代码 · 共 235 行
CS
235 行
/*
* ArticleService.cs @Microsoft Visual Studio 2005 <.NET Framework 2.0>
* AfritXia
* 2007-12-10
*
* 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 ArticleService : ServiceBase, IArticleService
{
#region 类构造器
/// <summary>
/// 类默认构造器
/// </summary>
public ArticleService()
{
}
#endregion
#region IArticleService 成员
public void Append(Article newArticle)
{
using (IDBTaskTransaction tranx = MyDBTaskFactory.CreateDBTaskTransaction())
{
// 创建文章数据库任务
IArticleTask task = MyDBTaskFactory.CreateArticleTask();
// 创建文章扩展
IArticleExtension ext = MyExtensionFactory.CreateArticleExtension();
// 登记数据库事务
task.EnlistTransaction(tranx);
ext.EnlistTransactionObject(tranx);
// 设置活动用户名称
ext.Actor = this.Actor;
try
{
// 准备添加文章
ext.OnPreAppend(newArticle);
// 添加文章
task.Append(newArticle);
// 添加文章完成
ext.OnAppendComplete(newArticle);
// 提交事务
tranx.Commit();
}
catch
{
// 回滚事务
tranx.Rollback();
throw;
}
}
}
public void Delete(int articleID)
{
using (IDBTaskTransaction tranx = MyDBTaskFactory.CreateDBTaskTransaction())
{
// 创建文章数据库任务
IArticleTask task = MyDBTaskFactory.CreateArticleTask();
// 创建文章扩展
IArticleExtension ext = MyExtensionFactory.CreateArticleExtension();
// 登记数据库事务
task.EnlistTransaction(tranx);
ext.EnlistTransactionObject(tranx);
// 设置活动用户名称
ext.Actor = this.Actor;
try
{
// 获取要删除的文章
Article delArticle = task.ViewArticle(articleID);
// 准备删除文章
ext.OnPreDelete(delArticle);
// 删除文章
task.Delete(articleID);
// 删除文章完成
ext.OnDeleteComplete(delArticle);
// 提交事务
tranx.Commit();
}
catch
{
// 回滚事务
tranx.Rollback();
throw;
}
}
}
public void Update(Article newArticle)
{
using (IDBTaskTransaction tranx = MyDBTaskFactory.CreateDBTaskTransaction())
{
// 创建文章数据库任务
IArticleTask task = MyDBTaskFactory.CreateArticleTask();
// 创建文章扩展
IArticleExtension ext = MyExtensionFactory.CreateArticleExtension();
// 登记数据库事务
task.EnlistTransaction(tranx);
ext.EnlistTransactionObject(tranx);
// 设置活动用户名称
ext.Actor = this.Actor;
try
{
// 准备更新文章
ext.OnPreUpdate(newArticle);
// 更新文章
task.Update(newArticle);
// 更新文章完成
ext.OnUpdateComplete(newArticle);
// 提交事务
tranx.Commit();
}
catch
{
// 回滚事务
tranx.Rollback();
throw;
}
}
}
public IList<Article> GetArticleList(int orderGist,
int startRecord, int maxRecords, out int allRecordCount)
{
allRecordCount = 0;
IList<Article> articleList = null;
using (IDBTaskTransaction tranx = MyDBTaskFactory.CreateDBTaskTransaction())
{
// 创建文章数据库任务
IArticleTask task = MyDBTaskFactory.CreateArticleTask();
// 创建文章扩展
IArticleExtension ext = MyExtensionFactory.CreateArticleExtension();
// 登记数据库事务
task.EnlistTransaction(tranx);
ext.EnlistTransactionObject(tranx);
// 设置活动用户名称
ext.Actor = this.Actor;
try
{
// 准备获取文章列表
ext.OnPreGetArticleList();
// 获取文章列表
articleList = task.GetArticleList(orderGist, startRecord, maxRecords, out allRecordCount);
// 获取文章列表完成
ext.OnGetArticleListComplete(articleList);
// 提交事务
tranx.Commit();
}
catch
{
// 回滚事务
tranx.Rollback();
throw;
}
}
return articleList;
}
public Article ViewArticle(int articleID)
{
Article viewArticle = null;
using (IDBTaskTransaction tranx = MyDBTaskFactory.CreateDBTaskTransaction())
{
// 创建文章数据库任务
IArticleTask task = MyDBTaskFactory.CreateArticleTask();
// 创建文章扩展
IArticleExtension ext = MyExtensionFactory.CreateArticleExtension();
// 登记数据库事务
task.EnlistTransaction(tranx);
ext.EnlistTransactionObject(tranx);
// 设置活动用户名称
ext.Actor = this.Actor;
try
{
// 准备浏览文章
ext.OnPreViewArticle(articleID);
// 浏览文章
viewArticle = task.ViewArticle(articleID);
// 浏览文章完成
ext.OnViewArticleComplete(articleID, viewArticle);
// 提交事务
tranx.Commit();
}
catch
{
// 回滚事务
tranx.Rollback();
throw;
}
}
return viewArticle;
}
#endregion
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?