コード例 #1
0
 private static ErrorType CheckNetwork(LadderNetworkViewModel ladderNetwork)
 {
     ladderNetwork.PreCompile();
     if (ladderNetwork.LadderElements.Count() == 0 && ladderNetwork.LadderVerticalLines.Count() == 0)
     {
         return(ErrorType.Empty);
     }
     if (IsLadderGraphOpen(ladderNetwork))
     {
         return(ErrorType.Open);
     }
     //if (!IsAllLinkedToRoot(ladderNetwork))
     //{
     //    return ErrorType.Open;
     //}
     if (IsLadderGraphShort(ladderNetwork))
     {
         return(ErrorType.Short);
     }
     if (!CheckSelfLoop(ladderNetwork))
     {
         return(ErrorType.SelfLoop);
     }
     if (!CheckElements(ladderNetwork))
     {
         return(ErrorType.Special);
     }
     if (!CheckHybridLink(ladderNetwork))
     {
         return(ErrorType.HybridLink);
     }
     if (!CheckSpecialModel(ladderNetwork))
     {
         return(ErrorType.Special);
     }
     return(ErrorType.None);
 }