You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
168 lines
5.3 KiB
168 lines
5.3 KiB
using Kevin.SyntaxTextBox;
|
|
using SqlSugar;
|
|
using SqlSugar.Base;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Windows.Forms;
|
|
|
|
namespace EntityBuilder
|
|
{
|
|
public partial class Form1 : Form
|
|
{
|
|
private SyntaxTextBox txtSyntax;
|
|
|
|
public Form1()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private List<DbTableInfo> m_tables = new List<DbTableInfo>();
|
|
private List<DbTableInfo> m_SelTables = new List<DbTableInfo>();
|
|
private List<ColumnInfo> m_tableColumns = new List<ColumnInfo>();
|
|
|
|
#region "初始化datagridview数据"
|
|
|
|
private void Form1_Load(object sender, EventArgs e)
|
|
{
|
|
m_tables = TableHelper.GetTables();
|
|
|
|
m_tables = m_tables.OrderBy(u => u.Name).ToList();
|
|
dataGridView1.DataSource = m_tables;
|
|
|
|
//reLoadColumns("student");
|
|
}
|
|
|
|
#endregion "初始化datagridview数据"
|
|
|
|
#region "查询所有数据"
|
|
|
|
private void reLoadColumns(string tablename)
|
|
{
|
|
m_tableColumns.Clear();
|
|
m_tableColumns = TableHelper.GetColumnField(tablename);
|
|
dataGridView2.DataSource = m_tableColumns;
|
|
}
|
|
|
|
#endregion "查询所有数据"
|
|
|
|
#region "选择行,并填充到表单中,然后可做修改和删除操作"
|
|
|
|
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
|
{
|
|
if (e.ColumnIndex == 0)
|
|
{ //当单击複選框,同时处于组合编辑状态时
|
|
var cell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
|
|
var ifcheck1 = Convert.ToBoolean(cell.FormattedValue);
|
|
var ifcheck2 = Convert.ToBoolean(cell.EditedFormattedValue);
|
|
|
|
if (ifcheck1 != ifcheck2)
|
|
{
|
|
var tb = m_tables[e.RowIndex];
|
|
reLoadColumns(tb.Name);
|
|
var db = SugarBase.DB;
|
|
var cls = db.DbFirst.IsCreateAttribute().Where(tb.Name).ToClassStringList("Entity.Sugar").First();
|
|
var code = cls.Value;
|
|
txtSyntax.Text = code;
|
|
}
|
|
}
|
|
}
|
|
|
|
#endregion "选择行,并填充到表单中,然后可做修改和删除操作"
|
|
|
|
private void btnGen_Click(object sender, EventArgs e)
|
|
{
|
|
m_SelTables.Clear();
|
|
var iRow = 0;
|
|
foreach (DataGridViewRow row in dataGridView1.Rows)
|
|
{
|
|
var iCol = 0;
|
|
foreach (DataGridViewCell cell in row.Cells)
|
|
{
|
|
if (iCol == 0)
|
|
{
|
|
var ifcheck1 = Convert.ToBoolean(cell.FormattedValue);
|
|
if (ifcheck1)
|
|
{
|
|
var tb = m_tables[iRow];
|
|
m_SelTables.Add(tb);
|
|
}
|
|
}
|
|
|
|
iCol++;
|
|
}
|
|
|
|
iRow++;
|
|
}
|
|
|
|
if (m_SelTables.Count > 0)
|
|
{
|
|
var sPath = txtPath.Text.Trim();
|
|
var db = SugarBase.DB;
|
|
if (sPath == "")
|
|
{
|
|
sPath = DBUnit.GetAppSettings("OrmSugarPath");
|
|
}
|
|
foreach (DbTableInfo n in m_SelTables)
|
|
{
|
|
db.DbFirst.IsCreateAttribute().Where(n.Name).CreateClassFile(sPath, "Entity.Sugar");
|
|
}
|
|
MessageBox.Show(@"ORM(Sugar) 生成完成");
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show(@"請選擇要產生的table");
|
|
}
|
|
}
|
|
|
|
private void allcheck_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
foreach (DataGridViewRow row in dataGridView1.Rows)
|
|
{
|
|
((DataGridViewCheckBoxCell)row.Cells[0]).Value = allcheck.Checked;
|
|
}
|
|
}
|
|
|
|
private void btnGen_Helper_Click(object sender, EventArgs e)
|
|
{
|
|
m_SelTables.Clear();
|
|
var iRow = 0;
|
|
foreach (DataGridViewRow row in dataGridView1.Rows)
|
|
{
|
|
var iCol = 0;
|
|
foreach (DataGridViewCell cell in row.Cells)
|
|
{
|
|
if (iCol == 0)
|
|
{
|
|
var ifcheck1 = Convert.ToBoolean(cell.FormattedValue);
|
|
if (ifcheck1)
|
|
{
|
|
var tb = m_tables[iRow];
|
|
m_SelTables.Add(tb);
|
|
}
|
|
}
|
|
iCol++;
|
|
}
|
|
iRow++;
|
|
}
|
|
var sPath = txtPath.Text.Trim();
|
|
|
|
if (m_SelTables.Count > 0)
|
|
{
|
|
var code = CreateFileHelper.BuilderEntityHelperCode(m_SelTables);
|
|
code = code.Replace("\n", "\r\n");
|
|
txtSyntax.Text = code;
|
|
if (sPath == "")
|
|
{
|
|
sPath = DBUnit.GetAppSettings("OrmEasyPath");
|
|
}
|
|
CreateFileHelper.CreateEntityHelper(m_SelTables, sPath);
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("請選擇要產生的table");
|
|
}
|
|
}
|
|
}
|
|
}
|