Example #1
0
        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);
        }
Example #2
0
 public static TransformerNodeViewModel AddFirstWinding(this TransformerNodeViewModel transformer, NodeViewModel winding)
 {
     transformer.FirstWinding = winding;
     return(transformer);
 }