//Criteria 类代码生成
        private void btnCriteriaGenerate_Click(object sender, EventArgs e)
        {
            string resultMsg = string.Empty;
            string strDataAccess = ConfigurationManager.AppSettings["DataAccess"];
            CodeGenerators gen = new CodeGenerators();
            try
            {
                if (cboSqlDataBase.Text == "Please select" || (string.IsNullOrWhiteSpace(cboSqlDataBase.Text) && strDataAccess.Equals(BaseDict.SqlServerData)))
                {
                    MessageBox.Show("请选择数据库!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                if (cboSqlDataTable.Text == "Please select" || string.IsNullOrWhiteSpace(cboSqlDataTable.Text))
                {
                    MessageBox.Show("请选择数据表!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }

                rtxtCont.Text = gen.CriteriaCodeGeneration(out resultMsg,dataBaseName:cboSqlDataBase.Text.Trim(),tableName: cboSqlDataTable.Text.Trim() ,dalNamespace: txtLogicNamespace.Text.Trim());
                SetStyle();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error:" + ex.ToString());
            }
        }
        public void ModelCodeGenerationTest()
        {
            string resultMsg = string.Empty;
            var gen = new CodeGenerators();
            //var code = gen.ModelCodeGeneration(out resultMsg, "Models", "SHIP_INFO", BaseDict.OracleData);
            var criteria = new GeneratorCriteria();
            criteria.ModelsNamespace = "Models";
            criteria.ModelClassNamePrefix = "Model";
            criteria.DalNamespace = "Logic";
            criteria.DalClassNamePrefix = "Logic";
            criteria.TableName = "TUSER";
            criteria.DataBaseType = BaseDict.OracleData;
            var code = gen.ModelCodeGeneration(out resultMsg, criteria.TableName, criteria.DataBaseType, criteria.DataBaseName, criteria.ModelsNamespace,
                criteria.ModelClassNamePrefix);
            var code1 = string.Empty;

            Assert.AreNotEqual(code, code1);
        }
        /// <summary>
        /// 数据库连接
        /// </summary>
        private void Connection()
        {
            CodeGenerators gen = new CodeGenerators();
            string resultMsg = string.Empty;
            string strDataAccess = ConfigurationManager.AppSettings["DataAccess"];
            if (strDataAccess.Equals(BaseDict.OracleData))
            {
                var list = gen.QueryTablesAll(out resultMsg, strDataAccess);

                if (string.IsNullOrWhiteSpace(resultMsg) || resultMsg.Contains(BaseDict.SuccessPrefix))
                {
                    list.Insert(0, new ModelGeneration() { TableName = "Please select" });

                    cboSqlDataTable.DisplayMember = "TableName";
                    cboSqlDataTable.ValueMember = "TableName";
                    cboSqlDataTable.DataSource = list;
                    cboSqlDataTable.SelectedValue = "Please select";

                    MessageBox.Show("连接成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show(resultMsg, "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else if (strDataAccess.Equals(BaseDict.SqlServerData))
            {
                var list = gen.QueryDataBaseAll(out resultMsg, strDataAccess);
                cboSqlDataBase.DataSource = list;
            }
        }
        //数据库下拉列表选择事件
        private void cboSqlDataBase_SelectedIndexChanged(object sender, EventArgs e)
        {
            string resultMsg = string.Empty;
            string strDataBaseType = ConfigurationManager.AppSettings["DataAccess"];
            string strDataBaseName = cboSqlDataBase.Text;
            if (strDataBaseType.Equals(BaseDict.SqlServerData) && (cboSqlDataBase.Text.Equals("Please select") || string.IsNullOrWhiteSpace(cboSqlDataBase.Text)))
            {
                return;
            }

            try
            {
                CodeGenerators gener = new CodeGenerators();
                var list = gener.QueryTablesAll(out resultMsg, strDataBaseType, strDataBaseName);

                list.Insert(0, new ModelGeneration() { TableName = "Please select" });

                cboSqlDataTable.DisplayMember = "TableName";
                cboSqlDataTable.ValueMember = "TableName";
                cboSqlDataTable.DataSource = list;
                cboSqlDataTable.SelectedValue = "Please select";
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
        //存储过程生成按钮事件
        private void btnSqlGenerate_Click(object sender, EventArgs e)
        {
            string resultMsg = string.Empty;
            string strDataAccess = ConfigurationManager.AppSettings["DataAccess"];
            CodeGenerators gen = new CodeGenerators();

            if (cboSqlDataBase.Text == "Please select" || (string.IsNullOrWhiteSpace(cboSqlDataBase.Text) && strDataAccess.Equals(BaseDict.SqlServerData)))
            {
                MessageBox.Show("请选择数据库!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            if (cboSqlDataTable.Text == "Please select" || string.IsNullOrWhiteSpace(cboSqlDataTable.Text))
            {
                MessageBox.Show("请选择数据表!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            rtxtCont.Clear();

            rtxtCont.Text = gen.TSqlCodeGeneration(out resultMsg, cboSqlDataTable.Text.Trim(), strDataAccess, cboSqlDataBase.Text.Trim(),
                txtSqlParameterPrefix.Text.Trim(),txtProcedurePrefix.Text.Trim());

            SetStyle();
        }
 /// <summary>
 /// 数据库连接测试
 /// </summary>
 private void DBConnectionTest()
 {
     var strDataAccess = ConfigurationManager.AppSettings["DataAccess"];
     var resultMsg = string.Empty;
     CodeGenerators gen = new CodeGenerators();
     var list = gen.QueryTablesAll(out resultMsg, strDataAccess);
     if (string.IsNullOrWhiteSpace(resultMsg) || resultMsg.Contains(BaseDict.SuccessPrefix))
     {
         MessageBox.Show("连接成功!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
     else
     {
         MessageBox.Show(resultMsg, "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }