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); }
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); }