public static OmsGraphViewModel ResolveWindings( this OmsGraphViewModel graph, IEnumerable <RelationViewModel> firstWindingRelations, IEnumerable <RelationViewModel> secondWindingRelations) { foreach (var firstWindingRelation in firstWindingRelations) { NodeViewModel firstWinding = graph .Nodes .First(x => x.Id.Equals(firstWindingRelation.SourceNodeId)); TransformerNodeViewModel transformer = graph .Nodes .First(x => x.Id.Equals(firstWindingRelation.TargetNodeId)) as TransformerNodeViewModel; transformer.AddFirstWinding(firstWinding); } foreach (var secondWindingRelation in secondWindingRelations) { NodeViewModel secondWinding = graph .Nodes .First(x => x.Id.Equals(secondWindingRelation.TargetNodeId)); TransformerNodeViewModel transformer = graph .Nodes .First(x => x.Id.Equals(secondWindingRelation.SourceNodeId)) as TransformerNodeViewModel; transformer.AddSecondWinding(secondWinding); } return(graph); }
public static TransformerNodeViewModel AddFirstWinding(this TransformerNodeViewModel transformer, NodeViewModel winding) { transformer.FirstWinding = winding; return(transformer); }