// Загрузка связи с процедурами private ProcConnectionWPF LoadProcConnection(SaveProcedureConnection connectproc, Dictionary <Guid, ProcedureWPF> worksavelistproc, StartBlockWPF startBlock, EndBlockWPF endBlock) { ProcedureWPF procStart = null; ProcedureWPF procEnd = null; if (connectproc.StartID.CompareTo(new Guid()) != 0) { procStart = worksavelistproc[connectproc.StartID]; } if (connectproc.EndID.CompareTo(new Guid()) != 0) { procEnd = worksavelistproc[connectproc.EndID]; } ProcConnectionWPF connection = null; if (procStart != null && procEnd != null) { connection = new ProcConnectionWPF(procStart, procEnd, connectproc.RelativeStartPosition, connectproc.RelativeEndPosition, connectproc.StartPort, connectproc.EndPort); procStart.AddOutPutConnection(connection); procEnd.AddInPutConnection(connection); } else { if (procStart == null) { connection = new ProcConnectionWPF(startBlock, procEnd, connectproc.RelativeStartPosition, connectproc.RelativeEndPosition, connectproc.StartPort, connectproc.EndPort); procEnd.AddInPutConnection(connection); startBlock.AddOutPutConnection(connection); } if (procEnd == null) { connection = new ProcConnectionWPF(procStart, endBlock, connectproc.RelativeStartPosition, connectproc.RelativeEndPosition, connectproc.StartPort, connectproc.EndPort); procStart.AddOutPutConnection(connection); endBlock.AddInPutConnection(connection); } } return(connection); }