/// <summary> /// 显示配置框 /// </summary> /// <param name="curProject"></param> /// <param name="docView"></param> /// <param name="dalNamespace"></param> public static void ShowConfig(ClassDesignerInfo desinfo, string dalNamespace) { DBConfigInfo dbinfo = DBConfigInfo.LoadInfo(desinfo); using (FrmDBSetting frmSetting = new FrmDBSetting()) { frmSetting._selectedClassDesigner = desinfo; if (dbinfo == null) { dbinfo = new DBConfigInfo(); dbinfo.DbName = DBConfigInfo.GetDbName(desinfo); dbinfo.SummaryShow = SummaryShowItem.All; dbinfo.FileName = DBConfigInfo.GetFileName(desinfo); } frmSetting.Info = dbinfo; frmSetting.SummaryItem = dbinfo.SummaryShow; if (frmSetting.ShowDialog() != DialogResult.OK) { return; } if (string.IsNullOrEmpty(dbinfo.AppNamespace)) { dbinfo.AppNamespace = dalNamespace + "." + dbinfo.DbType; } dbinfo.SaveConfig(dbinfo.FileName); StaticConnection.ClearCacheOperate(dbinfo.DbName); } }
/// <summary> /// 获取实体的文件名 /// </summary> /// <param name="table">实体表信息</param> /// <param name="doc">文档信息</param> /// <returns></returns> public static string GetEntityRealFileName(DBTableInfo table, DBConfigInfo db, ClassDesignerInfo designerInfo) { string className = EntityFieldBase.ToPascalName(table.Name); FileInfo docfile = new FileInfo(designerInfo.SelectDocView.DocData.FileName); if (db.EntityToDirectory) { return(docfile.DirectoryName + "\\Entity\\" + className + ".cs"); } return(docfile.DirectoryName + "\\" + className + ".cs"); }
/// <summary> /// 实体信息 /// </summary> /// <param name="belong">所属的数据库信息</param> public DBEntityInfo(string entityNamespace, DBTableInfo belong, ClassDesignerInfo designerInfo, DBConfigInfo currentDBConfigInfo, string baseType) { _belongTable = belong; _entityNamespace = entityNamespace; //_docView = docView; //_currentProject = currentProject; _designerInfo = designerInfo; _currentDBConfigInfo = currentDBConfigInfo; _baseType = baseType; InitInfo(); //_tiers = tiers; FilterBaseTypeParam(); }
/// <summary> /// 输出成GeneratorEntity /// </summary> /// <param name="classModelInfo"></param> /// <returns></returns> public Buffalo.GeneratorInfo.EntityInfo ToGeneratorEntity(UIModelItem classModelInfo) { List <Property> lst = new List <Property>(_lstProperty.Count); foreach (UIModelItem item in _lstProperty) { lst.Add(item.ToGeneratItem()); } string dbName = DBConfigInfo.GetDbName(DesignerInfo); Buffalo.GeneratorInfo.EntityInfo entity = new Buffalo.GeneratorInfo.EntityInfo(dbName, _fileName, _namespace, _className, _summary, _baseTypeName, lst, _dicGenericInfo, classModelInfo.ToGeneratItem()); return(entity); }
/// <summary> /// 获取类的创建语句 /// </summary> /// <param name="type"></param> private void GetClassSQL() { _lstSql = new List <string>(); List <KeyWordTableParamItem> lstTable = new List <KeyWordTableParamItem>(); DBConfigInfo dbcinfo = FrmDBSetting.GetDBConfigInfo(DesignerInfo, "DataAccess."); DBInfo dbInfo = dbcinfo.CreateDBInfo(); foreach (ClrClass curType in SelectedClass) { EntityConfig entity = new EntityConfig(curType, DesignerInfo); if (string.IsNullOrEmpty(entity.TableName) || !entity.IsTable) { continue; } string typeName = null; Stack <EntityConfig> stkConfig = EntityConfig.GetEntity(entity, DesignerInfo); List <EntityParam> lstParam = new List <EntityParam>(); List <TableRelationAttribute> lstRelation = new List <TableRelationAttribute>(); string lastTableName = null; string lastSummary = null; while (stkConfig.Count > 0) { EntityConfig centity = stkConfig.Pop(); FillParams(centity, lstParam, lstRelation); lastTableName = centity.TableName; lastSummary = centity.Summary; } KeyWordTableParamItem table = new KeyWordTableParamItem(lstParam, lstRelation, lastTableName, null); table.Description = lastSummary; lstTable.Add(table); } try { using (BatchAction ba = dbInfo.DefaultOperate.StarBatchAction()) { _lstSql = TableChecker.CheckTable(dbInfo, lstTable); } } catch (Exception ex) { MessageBox.Show("生成语句失败:" + ex.Message); } ShowSql(); }
private void btnSubmit_Click(object sender, EventArgs e) { DBConfigInfo dbcinfo = FrmDBSetting.GetDBConfigInfo(DesignerInfo, ""); DBInfo dbInfo = dbcinfo.CreateDBInfo(); rtbOutput.Text = ""; if (_lstSql == null || _lstSql.Count == 0) { return; } List <string> resault = DBChecker.ExecuteSQL(dbInfo.DefaultOperate, _lstSql); StringBuilder sbRet = new StringBuilder(); foreach (string res in resault) { sbRet.AppendLine(res); } rtbOutput.Text = sbRet.ToString(); }
public static DBConfigInfo GetDBConfigInfo(ClassDesignerInfo info, string dalNamespace) { DBConfigInfo dbinfo = DBConfigInfo.LoadInfo(info); if (dbinfo == null) { using (FrmDBSetting frmSetting = new FrmDBSetting()) { frmSetting.Info.DbName = DBConfigInfo.GetDbName(info); if (frmSetting.ShowDialog() != DialogResult.OK) { return(null); } dbinfo = frmSetting.Info; dbinfo.AppNamespace = dalNamespace + "." + dbinfo.DbType; dbinfo.FileName = DBConfigInfo.GetFileName(info); dbinfo.SaveConfig(dbinfo.FileName); StaticConnection.ClearCacheOperate(dbinfo.DbName); } } return(dbinfo); }
/// <summary> /// 显示或隐藏注释 /// </summary> /// <param name="dia">图</param> public static void ShowOrHideSummary(Diagram dia, Connect conn) { ShapeElementMoveableCollection nestedChildShapes = dia.NestedChildShapes; ClrClassShape shape = null; ClrEnumerationShape shape2 = null; ClrInterfaceShape shape3 = null; AssociationShape shape4 = null; bool flag = true; DBConfigInfo dbInfo = DBConfigInfo.LoadInfo(conn.GetDesignerInfo()); SummaryShowItem showInfo = SummaryShowItem.All; if (dbInfo != null) { showInfo = dbInfo.SummaryShow; } foreach (ShapeElement element in (IEnumerable)nestedChildShapes) { if (element is ClrClassShape) { shape = element as ClrClassShape; if (element.NestedChildShapes.Count > 0) { break; } } } if (shape != null) { ShapeFieldCollection shapeFields = shape.ShapeFields; int index = -1; for (int i = 0; i < shapeFields.Count; i++) { if (shapeFields[i] is SummaryShape) { index = i; break; } } if (index < 0) { flag = true; SummaryShape shapeField = new SummaryShape(); shapeFields.Add(shapeField); } else { flag = false; shapeFields.RemoveAt(index); } foreach (ShapeElement element2 in (IEnumerable)shape.NestedChildShapes) { if (!(element2 is CDCompartment)) { continue; } shapeFields = element2.ShapeFields; index = -1; for (int j = 0; j < shapeFields.Count; j++) { if (shapeFields[j] is MemberSummary) { index = j; break; } } if (index < 0) { if (flag) { MemberSummary summary = new MemberSummary(); summary.FromAddin = conn; summary.SummaryShowInfo = showInfo; shapeFields.Add(summary); } } else if (!flag) { shapeFields.RemoveAt(index); } break; } } foreach (ShapeElement element3 in (IEnumerable)nestedChildShapes) { if (element3 is ClrEnumerationShape) { shape2 = element3 as ClrEnumerationShape; if (element3.NestedChildShapes.Count > 0) { break; } } } if (shape2 != null) { ShapeFieldCollection fields2 = shape2.ShapeFields; int num4 = -1; for (int k = 0; k < fields2.Count; k++) { if (fields2[k] is EnumSummary) { num4 = k; break; } } if (num4 < 0) { if (flag) { EnumSummary summary2 = new EnumSummary(); fields2.Add(summary2); } } else if (!flag) { fields2.RemoveAt(num4); } foreach (ShapeElement element4 in (IEnumerable)shape.NestedChildShapes) { if (!(element4 is CDCompartment)) { continue; } fields2 = element4.ShapeFields; num4 = -1; for (int m = 0; m < fields2.Count; m++) { if (fields2[m] is EnumItemSummary) { num4 = m; break; } } if (num4 < 0) { if (flag) { EnumItemSummary summary3 = new EnumItemSummary(); summary3.FromAddin = conn; summary3.SummaryShowInfo = showInfo; fields2.Add(summary3); } } else if (!flag) { fields2.RemoveAt(num4); } break; } } foreach (ShapeElement element5 in (IEnumerable)nestedChildShapes) { if (element5 is ClrInterfaceShape) { shape3 = element5 as ClrInterfaceShape; if (element5.NestedChildShapes.Count > 0) { break; } } } if (shape3 != null) { ShapeFieldCollection fields3 = shape3.ShapeFields; int num7 = -1; for (int n = 0; n < fields3.Count; n++) { if (fields3[n] is InterSummary) { num7 = n; break; } } if (num7 < 0) { if (flag) { InterSummary summary4 = new InterSummary(); fields3.Add(summary4); } } else if (!flag) { fields3.RemoveAt(num7); } foreach (ShapeElement element6 in (IEnumerable)shape3.NestedChildShapes) { if (!(element6 is CDCompartment)) { continue; } fields3 = element6.ShapeFields; num7 = -1; for (int num9 = 0; num9 < fields3.Count; num9++) { if (fields3[num9] is MemberSummary) { num7 = num9; break; } } if (num7 < 0) { if (flag) { MemberSummary summary5 = new MemberSummary(); summary5.FromAddin = conn; summary5.SummaryShowInfo = showInfo; fields3.Add(summary5); } } else if (!flag) { fields3.RemoveAt(num7); } break; } } foreach (ShapeElement element7 in (IEnumerable)nestedChildShapes) { if (element7 is AssociationShape) { shape4 = element7 as AssociationShape; } } if (shape4 != null) { ShapeFieldCollection fields4 = shape4.Label.ShapeFields; int num10 = -1; for (int num11 = 0; num11 < fields4.Count; num11++) { if (fields4[num11] is AssLabelSummary) { num10 = num11; break; } } if (num10 < 0) { if (flag) { AssLabelSummary summary6 = new AssLabelSummary(); fields4.Add(summary6); } } else if (!flag) { fields4.RemoveAt(num10); } } }
// Methods public override void DoPaint(DiagramPaintEventArgs e, ShapeElement parentShape) { base.DoPaint(e, parentShape); Font font = this.GetFont(e.View); CDCompartment compartment = parentShape as CDCompartment; if (compartment != null) { ListField listField = null; foreach (ShapeField field2 in compartment.ShapeFields) { if (field2 is ListField) { listField = field2 as ListField; break; } } float MemberLineHeight = (float)listField.GetItemHeight(parentShape); if (listField != null) { int itemCount = compartment.GetItemCount(listField); for (int i = 0; i < itemCount; i++) { ItemDrawInfo itemDrawInfo = new ItemDrawInfo(); compartment.GetItemDrawInfo(listField, i, itemDrawInfo); if (!itemDrawInfo.Disabled) { string[] strArray = itemDrawInfo.Text.Split(new char[] { ':', '(', '{' }); Member menberByName = this.GetMenberByName(parentShape.ParentShape, strArray[0].Trim()); if ((menberByName != null)) { string docSummary = menberByName.DocSummary; this.BackBrush.Color = Color.White; this.SummaryBrush.Color = Color.Green; this.NameBrush.Color = Color.Black; SelectedShapesCollection seleShapes = this._FromAddin.SelectedShapes; if (seleShapes != null) { foreach (DiagramItem item in seleShapes) { if (((item.Shape == compartment) && (item.Field == listField)) && (item.SubField.SubFieldHashCode == i)) { this.BackBrush.Color = SystemColors.Highlight; this.SummaryBrush.Color = Color.White; this.NameBrush.Color = Color.White; break; } } } float height = 0.19f; float recX = (float)itemDrawInfo.ImageMargin;//0.16435f RectangleD bound = parentShape.BoundingBox; float width = (float)bound.Width; e.Graphics.FillRectangle(this.BackBrush, 0f, (0f + MemberLineHeight * (float)i), width, MemberLineHeight); DBConfigInfo dbInfo = DBConfigInfo.LoadInfo(_FromAddin.GetDesignerInfo()); string curStr = null; float curX = 0f; if (EnumUnit.ContainerValue((int)_summaryShowInfo, (int)SummaryShowItem.MemberName)) { curStr = menberByName.Name; e.Graphics.DrawString(curStr, font, this.NameBrush, curX, (0f + MemberLineHeight * (float)i + 0.02f)); curX += e.Graphics.MeasureString(curStr, font).Width; } if (EnumUnit.ContainerValue((int)_summaryShowInfo, (int)SummaryShowItem.Summary)) { if (!string.IsNullOrEmpty(curStr)) { curStr = ":"; } else { curStr = ""; } curStr += HttpUtility.HtmlDecode(menberByName.DocSummary); e.Graphics.DrawString(curStr, font, this.SummaryBrush, curX, (0f + MemberLineHeight * (float)i + 0.02f)); } } } } } } }