Exemplo n.º 1
0
        /// <summary>
        /// 参数赋值后,初始化相关对象
        /// </summary>
        /// <param name="bllFullName">BLL业务类的全名(子类必须实现),子类构造函数传入this.GetType().FullName</param>
        /// <param name="dalAssemblyName">数据访问层程序集的清单文件的文件名,不包括其扩展名。设置为NULL或默认为Assembly.GetExecutingAssembly().GetName().Name</param>
        /// <param name="bllPrefix">BLL命名空间的前缀(BLL.)</param>
        /// <param name="dbConfigName">数据库配置项名称</param>
        protected void Init(string bllFullName, string dalAssemblyName = null, string dbConfigName = null, string bllPrefix = "BLL.")
        {
            if (string.IsNullOrEmpty(bllFullName))
            {
                throw new ArgumentNullException("子类未设置bllFullName业务类全名!");
            }

            if (string.IsNullOrEmpty(dalAssemblyName))
            {
                dalAssemblyName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
            }

            //赋值,准备构建对象
            this.bllFullName     = bllFullName;
            this.dalAssemblyName = dalAssemblyName;
            this.bllPrefix       = bllPrefix;

            //根据不同的数据库类型,构造相应的DAL层
            AppConfig config    = new AppConfig();
            string    dbType    = config.AppConfigGet("ComponentDbType");
            string    DALPrefix = GetDALPrefix(dbType);

            this.dalName = bllFullName.Replace(bllPrefix, DALPrefix);                      //替换中级的BLL.为DAL.,就是DAL类的全名
            baseDal      = Reflect <IBaseDAL <T> > .Create(this.dalName, dalAssemblyName); //构造对应的DAL数据访问层的对象类

            if (!string.IsNullOrEmpty(dbConfigName))
            {
                baseDal.SetDbConfigName(dbConfigName); //设置数据库配置项名称
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 参数赋值后,初始化相关对象
        /// </summary>
        /// <param name="bllFullName">BLL业务类的全名(子类必须实现),子类构造函数传入this.GetType().FullName</param>
        /// <param name="dalAssemblyName">数据访问层程序集的清单文件的文件名,不包括其扩展名。设置为NULL或默认为Assembly.GetExecutingAssembly().GetName().Name</param>
        /// <param name="bllPrefix">BLL命名空间的前缀(BLL.)</param>
        /// <param name="dbConfigName">数据库配置项名称</param>
        protected void Init(string bllFullName, string dalAssemblyName = null, string dbConfigName = null, string bllPrefix = "BLL.")
        {
            if (string.IsNullOrEmpty(bllFullName))
            {
                throw new ArgumentNullException("子类未设置bllFullName业务类全名!");
            }

            if (string.IsNullOrEmpty(dalAssemblyName))
            {
                dalAssemblyName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
            }

            //赋值,准备构建对象
            this.bllFullName = bllFullName;
            //this.dalAssemblyName = dalAssemblyName;
            this.bllPrefix = bllPrefix;

            #region 根据不同的数据库类型,构造相应的DAL层

            string dbType = config.AppConfigGet("ComponentDbType");
            if (string.IsNullOrEmpty(dbType))
            {
                dbType = "sqlserver";
            }
            dbType = dbType.ToLower();

            string DALPrefix = "";
            if (dbType == "sqlserver")
            {
                DALPrefix = "SQLServerDAL.";
            }
            else if (dbType == "access")
            {
                DALPrefix = "AccessDAL.";
            }
            else if (dbType == "oracle")
            {
                DALPrefix = "OracleDAL.";
            }
            else if (dbType == "sqlite")
            {
                DALPrefix = "SQLiteDAL.";
            }
            else if (dbType == "mysql")
            {
                DALPrefix = "MySqlDAL.";
            }
            #endregion

            this.dalName         = bllFullName.Replace(bllPrefix, DALPrefix);//替换中级的BLL.为DAL.,就是DAL类的全名
            this.dalAssemblyName = dalAssemblyName.Replace(bllPrefix.Replace(".", ""), DALPrefix.Replace(".", ""));
            //baseDal = Reflect<IBaseDAL<T>>.Create(this.dalName, dalAssemblyName);//构造对应的DAL数据访问层的对象类
            // CREATE 命名空间, 程序集名(JCodes.Framework.SQLServerDAL.DictType, JCodes.Framework.SQLServerDAL)
            baseDal = Reflect <IBaseDAL <T> > .Create(this.dalName, this.dalAssemblyName);//构造对应的DAL数据访问层的对象类

            if (!string.IsNullOrEmpty(dbConfigName))
            {
                baseDal.SetDbConfigName(dbConfigName); //设置数据库配置项名称
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// 参数赋值后,初始化相关对象
        /// </summary>
        /// <param name="bllFullName">BLL业务类的全名(子类必须实现),子类构造函数传入this.GetType().FullName</param>
        /// <param name="dalAssemblyName">数据访问层程序集的清单文件的文件名,不包括其扩展名。设置为NULL或默认为Assembly.GetExecutingAssembly().GetName().Name</param>
        /// <param name="bllPrefix">BLL命名空间的前缀(BLL.)</param>
        /// <param name="dbConfigName">数据库配置项名称</param>
        protected void Init(string bllFullName, string dalAssemblyName = null, string dbConfigName = null, string bllPrefix = "BLL.")
        {
            if (string.IsNullOrEmpty(bllFullName))
            {
                throw new ArgumentNullException("子类未设置bllFullName业务类全名!");
            }

            if (string.IsNullOrEmpty(dalAssemblyName))
            {
                dalAssemblyName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
            }

            //赋值,准备构建对象
            this.bllFullName     = bllFullName;
            this.dalAssemblyName = dalAssemblyName;
            this.bllPrefix       = bllPrefix;

            #region 根据不同的数据库类型,构造相应的DAL层
            AppConfig config = new AppConfig();
            string    dbType = config.AppConfigGet("ComponentDbType");
            if (string.IsNullOrEmpty(dbType))
            {
                dbType = "sqlserver";
            }
            dbType = dbType.ToLower();

            string DALPrefix = "";
            if (dbType == "sqlserver")
            {
                DALPrefix = "DALSQL.";
            }
            else if (dbType == "access")
            {
                DALPrefix = "DALAccess.";
            }
            else if (dbType == "oracle")
            {
                DALPrefix = "DALOracle.";
            }
            else if (dbType == "sqlite")
            {
                DALPrefix = "DALSQLite.";
            }
            else if (dbType == "mysql")
            {
                DALPrefix = "DALMySql.";
            }
            #endregion

            this.dalName = bllFullName.Replace(bllPrefix, DALPrefix);                      //替换中级的BLL.为DAL.,就是DAL类的全名
            baseDal      = Reflect <IBaseDAL <T> > .Create(this.dalName, dalAssemblyName); //构造对应的DAL数据访问层的对象类

            if (!string.IsNullOrEmpty(dbConfigName))
            {
                baseDal.SetDbConfigName(dbConfigName); //设置数据库配置项名称
            }
        }
Exemplo n.º 4
0
        public BusinessController()
        {
            this.bllAssemblyName = System.Reflection.Assembly.GetAssembly(typeof(B)).GetName().Name;
            this.baseBLL         = Reflect <BaseBLL <T> > .Create(typeof(B).FullName, bllAssemblyName);

            if (baseBLL == null)
            {
                throw new ArgumentNullException("baseBLL", "未能成功创建对应的BaseBLL<T>业务访问层的对象");
            }
        }
Exemplo n.º 5
0
        private TextDocument CreateDocument(string title, FileInfo fileInfo)
        {
            var sciDoc = sci.CreateDocument();

            sci.AttachDocument(sciDoc);

            if (fileInfo != null)
            {
                ReadDocumentFile(sci, fileInfo);
            }

            var txtDoc = fileInfo != null?Reflect.Create <T>(fileInfo, sciDoc) : Reflect.Create <T>(title, sciDoc);

            txtDoc.DocumentClosed += txtDoc_DocumentClosed;
            OnDocumentCreateInstance((T)txtDoc);
            documents.Add((T)txtDoc);
            sci.Select();
            OnDocumentOpened((T)txtDoc);
            return(txtDoc);
        }
Exemplo n.º 6
0
        /// <summary>
        /// 根据参数信息,重新初始化数据访问层(例:可以指定不同的数据访问层)
        /// </summary>
        /// <param name="dbConfigName">数据库配置项名称,可以置空,置空则使用默认配置</param>
        /// <param name="componentDbType">数据库类型,默认从ComponentDbType中读取,如果dbConfigName指定不同类型的数据库连接,需要指定componentDbType。</param>
        public void SetConfigName(string dbConfigName, string componentDbType = null)
        {
            //componentDbType = null时,从配置项取ComponentDbType的值
            string dbType = componentDbType;

            if (string.IsNullOrEmpty(componentDbType))
            {
                AppConfig config = new AppConfig();
                dbType = config.AppConfigGet("ComponentDbType");
            }

            string DALPrefix = GetDALPrefix(dbType);

            this.dalName = bllFullName.Replace(bllPrefix, DALPrefix);                      //替换中级的BLL.为DAL.,就是DAL类的全名
            baseDal      = Reflect <IBaseDAL <T> > .Create(this.dalName, dalAssemblyName); //构造对应的DAL数据访问层的对象类

            //if (!string.IsNullOrEmpty(dbConfigName)) //~可以置空,置空则使用默认配置~
            {
                baseDal.SetDbConfigName(dbConfigName); //设置数据库配置项名称
            }
        }
Exemplo n.º 7
0
        protected void Init(string bllFullName, string dalAssemblyName = null, string bllPrefix = "BLL.", string dbConfigName = "mysql")
        {
            if (string.IsNullOrEmpty(bllFullName))
            {
                throw new ArgumentNullException("子类未设置bllFullName业务类全名!");
            }
            if (string.IsNullOrEmpty(dalAssemblyName))
            {
                dalAssemblyName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
            }
            this.bllFullName     = bllFullName;
            this.dalAssemblyName = dalAssemblyName;
            this.bllPrefix       = bllPrefix;

            AppConfig config = new AppConfig();
            string    dbType = config.AppConfigGet("ComponentDbType");

            if (string.IsNullOrEmpty(dbType))
            {
                dbType = "mysql";
            }
            dbType = dbType.ToLower();
            string DALPrefix = "";

            if (dbType == "mysql")
            {
                DALPrefix = "DALMySql.";
            }
            if (dbType == "sqlserver")
            {
                DALPrefix = "DALSQL.";
            }
            this.dalName = bllFullName.Replace(bllPrefix, DALPrefix);
            this.dalName = this.dalName.Replace("BLL", "DAL");
            baseDal      = Reflect <IBaseDAL <T> > .Create(this.dalName, dalAssemblyName);

            baseDal.SetDbConfigName(dbConfigName); //设置数据库配置项名称
        }