private void CreateCSFiles(int _dbtype = 1) { string _tableViewShowStr = string.Empty; if (_dbtype == 1) { _tableViewShowStr = "表"; } if (_dbtype == 2) { _tableViewShowStr = "视图"; } if (_CurrentSelectNode == null) { MsgBox.Infor("请先选中需要生成的'" + _tableViewShowStr + "'节点"); return; } DevExpress.XtraTreeList.Nodes.TreeListNode _ParantNode = _CurrentSelectNode.ParentNode; if (_ParantNode == null) { MsgBox.Warning("'" + _tableViewShowStr + "'节点无父节点...."); return; } DbLoginFor _DbLoginFor = _ParantNode.Tag as DbLoginFor; if (_DbLoginFor == null) { MsgBox.Warning("'" + _tableViewShowStr + "'节点的连接信息错误...."); return; } if (this.comboBox1.SelectedIndex == 0) { MsgBox.Warning("您选中的模板有问题,请前去确认......."); return; } CodeTemplet __CodeTemplet = this.comboBox1.SelectedItem as CodeTemplet; if (null == __CodeTemplet) { MsgBox.Warning("您选中的模板有问题,请前去确认......."); return; } string _FolderName = DialogUnitity.DialogFolderBrowser(); if (string.IsNullOrEmpty(_FolderName.Trim())) { MsgBox.Infor("没有您选中的文件夹...."); return; } string _Conn = _DbLoginFor.ConnString; CreateCSFileOneByOne(_DbLoginFor, __CodeTemplet, _FolderName, _dbtype); MsgBox.Infor("文件保存完成...."); }
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { if (this.comboBox1.SelectedIndex != 0) { CodeTemplet __CodeTemplet = this.comboBox1.SelectedItem as CodeTemplet; if (null == __CodeTemplet) { return; } this.textBox1.Text = __CodeTemplet.CTemplet_NameSP; this.textBox3.Text = __CodeTemplet.CTemplet_CPrefix; } else { this.textBox1.Text = string.Empty; this.textBox3.Text = string.Empty; } }
private void simpleButton1_Click(object sender, EventArgs e) { CodeTemplet _CodeTemplet = new CodeTemplet(); _CodeTemplet.CTemplet_Id = StringUnitity.GetNewGUID(); _CodeTemplet.CTemplet_Name = this.textBox1.Text.Trim(); _CodeTemplet.CTemplet_Context = this.fastColoredTextBox1.Text; _CodeTemplet.CTemplet_CPrefix = this.textBox3.Text.Trim(); _CodeTemplet.CTemplet_DbType = this.comboBox1.Text; _CodeTemplet.CTemplet_NameSP = this.textBox2.Text.Trim(); try { _CoreCodeTemplet.AddEntity(_CodeTemplet); LoadListBox(); ClearContol(); } catch (Exception ex) { MsgBox.Warning("新增失败,原因:" + ex.Message); } }
private void listBoxControl1_MouseUp(object sender, MouseEventArgs e) { _CurrentCodeTemplet = null; _CurrentCodeTemplet = this.listBoxControl1.SelectedItem as CodeTemplet; this.fastColoredTextBox1.Text = _CurrentCodeTemplet.CTemplet_Context; switch (_CurrentCodeTemplet.CTemplet_DbType) { case "Sqlite": this.comboBox1.SelectedIndex = 1; break; case "MySql": this.comboBox1.SelectedIndex = 2; break; case "Oracle": this.comboBox1.SelectedIndex = 3; break; case "SqlServer": this.comboBox1.SelectedIndex = 4; break; default: this.comboBox1.SelectedIndex = 0; break; } this.textBox1.Text = _CurrentCodeTemplet.CTemplet_Name; this.textBox2.Text = _CurrentCodeTemplet.CTemplet_NameSP; this.textBox3.Text = _CurrentCodeTemplet.CTemplet_CPrefix; //string _idString = this.listBoxControl1.SelectedItem as string; //var _mlist = _CoreCodeTemplet.LoadEntities(t => t.CTemplet_Id == _idString).ToList(); //if (_mlist.Count > 0) //{ // this.fastColoredTextBox1.Text = _mlist[0].CTemplet_Context; //} }
private void CreateCSFileOneByOne(DbLoginFor _DbLoginFor, CodeTemplet __CodeTemplet, string _FolderPath, int _tableType = 1) { //加载所有的表 IFrameWorkDb _IFrameWorkDb = null; List <DbTableInfo> _tableList = null; _IFrameWorkDb = FrameWorkDbFactory.CreateNewFrameWorkDb(_DbLoginFor.ConnString, _DbLoginFor.Db_Type); if (_IFrameWorkDb == null) { MsgBox.Warning("您配置的数据库节点存在问题....."); return; } if (_tableType == 1)//表 { //System.Diagnostics.Stopwatch _stp= System.Diagnostics.Stopwatch.StartNew(); //_stp.Start(); _tableList = _IFrameWorkDb.GetTables();//获取所的表 List <Task> _TaskList = new List <Task>(); for (int i = 0; i < _tableList.Count; i++) { _TaskList.Add(Task.Factory.StartNew(new Func <object, int>(it => { int val1 = (int)it; IFrameWorkDb _IFrameWorkDbTheard = null; _IFrameWorkDbTheard = FrameWorkDbFactory.CreateNewFrameWorkDb(_DbLoginFor.ConnString, _DbLoginFor.Db_Type); List <ColumnInfo> _columnList = _IFrameWorkDbTheard.GetColumsFromTable(_tableList[val1].Name); foreach (var item in _columnList) { if (CSDBDic.ContainsKey(item.TypeName.Trim().ToUpper())) { item.TypeName = CSDBDic[item.TypeName.ToUpper()]; } } string CodeString = CreareRazorString(__CodeTemplet.CTemplet_Context, _tableList[val1].Name, __CodeTemplet.CTemplet_NameSP, __CodeTemplet.CTemplet_DbType, _columnList); string _fileName = _FolderPath + @"\" + __CodeTemplet.CTemplet_CPrefix.Trim() + _tableList[val1].Name + ".cs"; FileUnitity.StringToNewFile(_fileName, CodeString, System.Text.Encoding.UTF8); return(1); }), i)); if (i % 5 == 0) { Task.WaitAll(_TaskList.ToArray()); } } //_stp.Stop(); MsgBox.Infor(_stp.ElapsedMilliseconds.ToString()); } else //视图 { _tableList = _IFrameWorkDb.GetViews();//获取所的视图 List <Task> _TaskList = new List <Task>(); for (int i = 0; i < _tableList.Count; i++) { _TaskList.Add(Task.Factory.StartNew(new Func <object, int>(it => { int val1 = (int)it; List <ColumnInfo> _columnList = _IFrameWorkDb.GetColumsFromView(_tableList[val1].Name); foreach (var item in _columnList) { if (CSDBDic.ContainsKey(item.TypeName.Trim().ToUpper())) { item.TypeName = CSDBDic[item.TypeName.ToUpper()]; } } string CodeString = CreareRazorString(__CodeTemplet.CTemplet_Context, _tableList[val1].Name, __CodeTemplet.CTemplet_NameSP, __CodeTemplet.CTemplet_DbType, _columnList); string _fileName = _FolderPath + @"\" + __CodeTemplet.CTemplet_CPrefix.Trim() + _tableList[val1].Name + ".cs"; FileUnitity.StringToNewFile(_fileName, CodeString, System.Text.Encoding.UTF8); return(1); }), i)); if (i % 5 == 0) { Task.WaitAll(_TaskList.ToArray()); } } } }
private void simpleButton1_Click(object sender, EventArgs e) { _CodeClassPref = string.Empty; _CodeClassName = string.Empty; DevExpress.XtraTreeList.Nodes.TreeListNode __TempNode = _CurrentSelectNode; if (this.comboBox1.SelectedIndex == 0) { MsgBox.Warning("请您先选中生成代码的模板......"); return; } //生成代码 if (string.IsNullOrEmpty(this.textBox2.Text.Trim())) { MsgBox.Warning("请您先选中表或者视图......"); return; } //1.0 获取选中的模板文件的内容 CodeTemplet __CodeTemplet = this.comboBox1.SelectedItem as CodeTemplet; if (null == __CodeTemplet) { MsgBox.Warning("您选中的模板有问题,请前去确认......."); return; } string compText = __CodeTemplet.CTemplet_Context; //数据库节点 DevExpress.XtraTreeList.Nodes.TreeListNode _rootNode = __TempNode.ParentNode.ParentNode; if (_rootNode == null) { MsgBox.Warning("您选中的表或者视图节点数据存在问题,请前去确认......."); return; } DbLoginFor __DbLoginFor = _rootNode.Tag as DbLoginFor; IFrameWorkDb _IFrameWorkDb = null; _IFrameWorkDb = FrameWorkDbFactory.CreateNewFrameWorkDb(__DbLoginFor.ConnString, __DbLoginFor.Db_Type); if (_IFrameWorkDb == null) { MsgBox.Warning("您选中的表或者视图节点数据类型存在问题,请前去确认......."); return; } string _ClassName = this.textBox2.Text.Trim(); string _TableName = this.textBox2.Text.Trim(); string _NameSpace = this.textBox1.Text.Trim(); string _SqlName = __CodeTemplet.CTemplet_DbType; _CodeClassPref = this.textBox3.Text.Trim(); _CodeClassName = this.textBox2.Text.Trim(); Task.Factory.StartNew(new Action(() => { string _tvstring = __TempNode.ParentNode.Tag as string; List <ColumnInfo> _ColumnInfoList = null; if (_tvstring.Trim() == "表") { _ColumnInfoList = _IFrameWorkDb.GetColumsFromTable(_TableName); } else if (_tvstring.Trim() == "视图") { _ColumnInfoList = _IFrameWorkDb.GetColumsFromView(_TableName); } foreach (var item in _ColumnInfoList) { if (CSDBDic.ContainsKey(item.TypeName.Trim().ToUpper())) { item.TypeName = CSDBDic[item.TypeName.ToUpper()]; } } //templateKey string _GenerdString = Engine.Razor.RunCompile(__CodeTemplet.CTemplet_Context, StringUnitity.GetNewGUID(), null, new { ClassName = _ClassName, //类名 TableName = _TableName, //表名 Columns = _ColumnInfoList, //表的列信息 NameSpace = _NameSpace, //命名空间 SqlName = _SqlName //数据库类型 }); this.Invoke(new MethodInvoker(() => { this.fastColoredTextBox1.Text = _GenerdString; })); })); }