[聚合文章] 程序员的自我救赎---1.4.2: 核心框架讲解(BLL&Tool)

程序员 2017-12-04 18 阅读

《前言》

《目录》

(一) Winner2.0 框架基础分析

(二) 短信中心

(三)SSO单点登录

(四)PLSQL报表系统

(五)钱包系统

(六)GPU支付中心

(七)权限系统

(八)监控系统

(九)会员中心

(十)消息中心

(十一)Winner前端框架与RPC接口规范讲解

(十二)上层应用案例

 (十三)番外篇 

 

 

《核心框架讲解》

 

之前想用一篇文章讲完核心框架的三四个程序集,后来写着写着就发现一篇文章写不完,这才想了一下用最少要用三篇。

上一篇讲了一下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()
        {
                

注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。