Пример #1
0
        /// <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);
            }
        }
Пример #2
0
        /// <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");
        }
Пример #3
0
 /// <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();
 }
Пример #4
0
        /// <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);
        }
Пример #5
0
        /// <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();
        }
Пример #6
0
        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();
        }
Пример #7
0
        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);
                }
            }
        }
Пример #9
0
        // 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));
                                }
                            }
                        }
                    }
                }
            }
        }