Exemple #1
0
        // Загрузка связи с процедурами
        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);
        }