《核心框架讲解》
之前想用一篇文章讲完核心框架的三四个程序集,后来写着写着就发现一篇文章写不完,这才想了一下用最少要用三篇。
上一篇讲了一下DAL,其实也没讲特别透,主要讲了一下DA部分的使用。这一篇文章主要来讲一下FacadeBase和常用工具。
其实在之前讲《事务的使用》 的时候已经着重介绍过FacadeBase,不复杂。
using System; using Winner.Framework.Core.DataAccess; using Winner.Framework.Core.Interface; using Winner.Framework.Utils; namespace Winner.Framework.Core.Facade { /// <summary> /// 通用三层架构的业务处理层(BLL)基类 /// </summary> public class FacadeBase : IDisposable, IPromptInfo { private PromptInfo _promptInfo; /// <summary> /// 错误详情 /// </summary> public PromptInfo PromptInfo { get { if (this._promptInfo == null) { this._promptInfo = new PromptInfo(); } return this._promptInfo; } } /// <summary> /// 分页控件 /// </summary> public IChangePage ChangePage; #region 错误详情上报 /// <summary> /// 错误详情上报 /// </summary> /// <param name="result">错误详情</param> protected void Alert(PromptInfo result) { this._promptInfo = result; } /// <summary> /// 错误详情上报 /// </summary> /// <param name="restulType">错误类型</param> protected void Alert(ResultType restulType) { this.PromptInfo.Alert(restulType); } /// <summary> /// 错误详情上报 /// </summary> /// <param name="msg">错误信息</param> protected void Alert(string msg) { this.PromptInfo.Alert(msg); } /// <summary> /// 错误详情上报 /// </summary> /// <param name="restulType">错误类型</param> /// <param name="result">错误详情</param> protected void Alert(ResultType restulType, PromptInfo result) { this.PromptInfo.Alert(restulType, result); } /// <summary> /// 错误详情上报 /// </summary> /// <param name="restulType">错误类型</param> /// <param name="msg">错误信息</param> protected void Alert(ResultType restulType, string msg) { this.PromptInfo.Alert(restulType, msg); } /// <summary> /// 错误详情上报 /// </summary> /// <param name="msg">错误信息</param> /// <param name="result">上级错误信息</param> protected void Alert(string msg, PromptInfo result) { this.PromptInfo.Alert(msg, result); } /// <summary> /// 错误详情上报 /// </summary> /// <param name="restulType">错误类型</param> /// <param name="msg">错误信息</param> /// <param name="result">错误详情</param> protected void Alert(ResultType restulType, string msg, PromptInfo result) { this.PromptInfo.Alert(restulType, msg, result); } #endregion #region 事务 /// <summary> /// 事物对象 /// </summary> public Transaction Transaction { get; private set; } /// <summary> /// 开启事物 /// </summary> protected void BeginTransaction() { if (this.Transaction == null) { this.Transaction = new Winner.Framework.Core.DataAccess.Transaction(); } this.Transaction.BeginTransaction(); } /// <summary> /// 提示事物 /// </summary> protected void Commit() { this.Transaction.Commit(); } /// <summary> /// 强制回滚事物 /// </summary> protected void RealRollback() { this.Transaction.RealRollback(); } /// <summary> /// 事物串联 /// </summary> /// <param name="transaction">事物对象</param> public void ReferenceTransactionFrom(Transaction transaction) { this.Transaction = transaction; } /// <summary> /// 回滚事物 /// </summary> protected void Rollback() { this.Transaction.Rollback(); } #endregion #region 对象销毁 /// <summary> /// 销毁对象 /// </summary> public virtual void Dispose() {注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。