コード例 #1
0
        public static zuk_dbSQLDataSet.zuk_fixedDataTable GraphToDatabase(QuickGraph.BidirectionalGraph <Word, Edge <Word> > graph)
        {
            zuk_dbSQLDataSet.zuk_fixedDataTable table = new zuk_dbSQLDataSet.zuk_fixedDataTable();
            foreach (var ver in graph.Vertices.Where(t => t.Language == Console.Language.Chinese))
            {
                var uMeanigns = graph.OutEdges(ver).Select(t => t.Target).Where(t => t.Language == Console.Language.Uyghur).ToArray();
                var kMeanigns = graph.OutEdges(ver).Select(t => t.Target).Where(t => t.Language == Console.Language.Kazak).ToArray();
                zuk_dbSQLDataSet.zuk_fixedRow row = table.Newzuk_fixedRow();
                row.Zh = ver.Value;
                row.Ug = "";
                row.Kz = "";
                foreach (var u in uMeanigns)
                {
                    row.Ug += u + ",";
                }
                foreach (var k in kMeanigns)
                {
                    row.Kz += k + ",";
                }
                row.Ug = row.Ug.TrimEnd(',');
                row.Kz = row.Kz.TrimEnd(',');
                //row.Pn = "-";

                table.Addzuk_fixedRow(row);
            }
            return(table);
        }
コード例 #2
0
        private QuickGraph.BidirectionalGraph <VisualVertex, VisualEdge> ConvertGraph(Grapher <VertexBase> graph)
        {
            var result = new QuickGraph.BidirectionalGraph <VisualVertex, VisualEdge>();

            var vertices = graph.Vertices.ToDictionary(v => v.Name, v => new VisualVertex(v.Name, v.Data, v.Color));

            result.AddVertexRange(vertices.Values);
            result.AddEdgeRange(graph.Edges.Select(e => new VisualEdge(vertices[e.V0.Name], vertices[e.V1.Name], e.Weight, e.Color)));

            return(result);
        }