示例#1
0
        public override PathInfo GetFormula(ConnectionLine invoker, PathInfo path)
        {
            if (InputLine == null)
            {
                throw new Exception(String.Format(Properties.Resources.ErrorInputModule, Name));
            }

            if (OutputLine == null)
            {
                throw new Exception(String.Format(Properties.Resources.ErrorOutputModule, Name));
            }


            foreach (var uiElement in Path.AllDeletedObjects)
            {
                if (uiElement.GetType().Name == "ConnectionLine")
                {
                    var line = (uiElement as ConnectionLine);

                    if (InputLine.Name == line.Name)
                    {
                        InputLine = null;
                    }

                    if (OutputLine.Name == line.Name)
                    {
                        OutputLine = null;
                    }
                }
            }


            bool isAnd = path.IsM2MConnection;
            var  rez   = Name;

            if (invoker == InputLine)
            {
                rez += OutputLine.GetFormula(this, path);
            }
            if (invoker == OutputLine)
            {
                rez += InputLine.GetFormula(this, path);
            }
            if (isAnd)
            {
                path.Formula = " AND " + rez;
            }
            else
            {
                path.Formula = rez;
            }

            return(path);
        }