Пример #1
0
        /// <summary>
        /// 开始
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            EntityBuilder builder;

            foreach (string o in lbright.Items)
            {
                var ro = !string.IsNullOrWhiteSpace(txtTableStar.Text.Trim())
                    ? o.Trim().Replace(' ', '_').Replace(txtTableStar.Text.Trim(), "")
                    : o.Trim().Replace(' ', '_');
                //var wjj = string.IsNullOrWhiteSpace(txt_wjj.Text.Trim()) ? "" : "." + txt_wjj.Text.Trim();
                //修改原因:需要生成简写表名,同时类名也需要改 例 Com_aa 需要Com文件夹 aa类  命名空间Com.aa
                //修改后效果:根据txtTableStar文本框所填内容来识别去除内容  by kelyljk 2016-2-2
                builder = new EntityBuilder(o, txtNamaspace.Text, //+ wjj
                                            ro,
                                            Utils.GetColumnInfos(dbObject.GetColumnInfoList(DatabaseName, o)),
                                            tableview[o],
                                            cbToupperFrstword.Checked,
                                            ConnectionModel.DbType);
                builder.TablePre  = txtPre.Text.Trim();
                builder.TableNext = txtNext.Text.Trim();
                var path = txtPath.Text + "\\" + txt_wjj.Text.Trim();
                //修改后效果:自动生成路劲文件夹 by kelyljk 2016-2-2
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
                //修改原因:需要生成简写表名 例 Com_aa 需要Com文件夹 aa类
                //修改后效果:根据txtTableStar文本框所填内容来识别去除内容  by kelyljk 2016-2-2
                String fileName = builder.TablePre + ro + builder.TableNext;
                fileName = fileName.Replace(" ", "");
                using (StreamWriter sw = new StreamWriter(Path.Combine(path,
                                                                       fileName + ".cs"),
                                                          false,
                                                          Encoding.UTF8))
                {
                    sw.Write(builder.Builder(TplContent));
                    sw.Close();
                }

                backgroundWorker1.ReportProgress(1);

                System.Threading.Thread.Sleep(1);
            }
        }
Пример #2
0
        /// <summary>
        /// 代码生成
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtnamespace.Text))
            {
                MessageBox.Show("命名空间不能为空!");
                return;
            }
            if (string.IsNullOrEmpty(txtClassName.Text))
            {
                MessageBox.Show("类名不能为空!");
                return;
            }

            Utils.WriteNamespace(txtnamespace.Text);

            List <Model.ColumnInfo> columns = Utils.GetColumnInfos(columnsdt);

            foreach (Model.ColumnInfo col in columns)
            {
                col.IsPK = false;

                foreach (object o in cbPrimarykey.Items)
                {
                    if (col.ColumnName.Equals(o.ToString()))
                    {
                        col.IsPK = true;
                        break;
                    }
                }
            }

            EntityBuilder builder = new EntityBuilder(TableName, txtnamespace.Text, txtClassName.Text, columns, IsView, cbToupperFrstword.Checked, ConnectionModel.DbType, cbEntityTableName.Checked);

            txtContent.Text = builder.Builder(tplContent.Text);

            tabControl1.SelectedIndex = 1;
        }