Exemplo n.º 1
0
        private static void ExtractForeignKey(
            System.ComponentModel.BindingList <DataModel.MetadataItem> list,
            ActiveQueryBuilder.Core.MetadataItem mi,
            int parentID
            )
        {
            if (mi == null)
            {
                return;
            }
            var o = ExtractItem(list, mi, parentID);

            o.FieldType = null;
            {
                ActiveQueryBuilder.Core.MetadataForeignKey m = mi as ActiveQueryBuilder.Core.MetadataForeignKey;
                o.ReferencedObject = m.ReferencedObject.NameFull;
                //
                for (int i = 0; i < m.ReferencedObjectName.Count; i++)
                {
                    ActiveQueryBuilder.Core.MetadataQualifiedNamePart x = m.ReferencedObjectName[i];
                    o.ReferencedObjectName += "["
                                              + System.Enum.GetName(typeof(ActiveQueryBuilder.Core.MetadataType), x.Type)
                                              + ":"
                                              + x.Name
                                              + "]"
                    ;
                }
                //
                o.ReferencedFieldsCount = m.ReferencedFields.Count;
                for (int i = 0; i < m.ReferencedFields.Count; i++)
                {
                    o.ReferencedFields += "[" + m.ReferencedFields[i] + "]"
                    ;
                }
                //
                o.ReferencedCardinality = System.Enum.GetName(typeof(ActiveQueryBuilder.Core.MetadataForeignKeyCardinality), m.ReferencedCardinality);
                //
                o.FieldsCount = m.Fields.Count;
                for (int i = 0; i < m.Fields.Count; i++)
                {
                    o.Fields += "[" + m.Fields[i] + "]"
                    ;
                }
                //
                o.Cardinality = System.Enum.GetName(typeof(ActiveQueryBuilder.Core.MetadataForeignKeyCardinality), m.Cardinality);
            }
        }
Exemplo n.º 2
0
        private static void ExtractForeignKey(
            System.Data.DataRow row
            , ActiveQueryBuilder.Core.MetadataItem mi
            , int parentID
            , System.Data.DataTable tbl
            )
        {
            if (mi == null)
            {
                return;
            }

            ExtractItem(row, mi, parentID, tbl);
            row["FieldType"] = null;
            {
                ActiveQueryBuilder.Core.MetadataForeignKey m = mi as ActiveQueryBuilder.Core.MetadataForeignKey;
                row["ReferencedObject"] = m.ReferencedObject.NameFull;
                //
                for (int i = 0; i < m.ReferencedObjectName.Count; i++)
                {
                    ActiveQueryBuilder.Core.MetadataQualifiedNamePart x = m.ReferencedObjectName[i];
                    row["ReferencedObjectName"] += "["
                                                   + System.Enum.GetName(typeof(ActiveQueryBuilder.Core.MetadataType), x.Type)
                                                   + ":"
                                                   + x.Name
                                                   + "]"
                    ;
                }
                //
                row["ReferencedFieldsCount"] = m.ReferencedFields.Count;
                for (int i = 0; i < m.ReferencedFields.Count; i++)
                {
                    row["ReferencedFields"] += "[" + m.ReferencedFields[i] + "]";
                }
                //
                row["ReferencedCardinality"] = System.Enum.GetName(typeof(ActiveQueryBuilder.Core.MetadataForeignKeyCardinality), m.ReferencedCardinality);
                //
                row["FieldsCount"] = m.Fields.Count;
                for (int i = 0; i < m.Fields.Count; i++)
                {
                    row["Fields"] += "[" + m.Fields[i] + "]"
                    ;
                }
                //
                row["Cardinality"] = System.Enum.GetName(typeof(ActiveQueryBuilder.Core.MetadataForeignKeyCardinality), m.Cardinality);
            }
        }