Пример #1
0
        /// <summary>
        /// Reports an effect which is an effect of a transition.
        /// </summary>
        protected virtual void ReportEffect(
            OperationContext context,
            Transition transition,
            QualifiedName cause,
            NodeId effectId)
        {
            if (effectId == ObjectTypes.TransitionEventType)
            {
                TransitionEvent e = TransitionEvent.Construct(Server);

                e.InitializeNewEvent();

                e.Message.Value     = Utils.Format("StateMachine has moved to the {0} state.", transition.ToState.DisplayName);
                e.SourceNode.Value  = NodeId;
                e.SourceName.Value  = BrowseName.Name;
                e.Severity.Value    = 10;
                e.ReceiveTime.Value = DateTime.UtcNow;
                e.FromState.Value   = transition.FromState.DisplayName;
                e.ToState.Value     = transition.ToState.DisplayName;

                ReportEvent(e);
            }
        }