/// <summary> /// Called when the add comment method is called. /// </summary> /// <param name="context">The system context.</param> /// <param name="method">The method being called.</param> /// <param name="objectId">The id of the object.</param> /// <param name="eventId">The identifier for the event which is the target for the comment.</param> /// <param name="comment">The comment.</param> /// <returns>Any error.</returns> protected virtual ServiceResult OnAddCommentCalled( ISystemContext context, MethodState method, NodeId objectId, byte[] eventId, LocalizedText comment) { ServiceResult error = ProcessBeforeAddComment(context, eventId, comment); if (ServiceResult.IsGood(error)) { string currentUserId = GetCurrentUserId(context); ConditionState branch = GetBranch(eventId); if (branch != null) { branch.OnAddCommentCalled(context, method, objectId, eventId, comment); } SetComment(context, comment, currentUserId); } if (EventsMonitored()) { // report a state change event. if (ServiceResult.IsGood(error)) { ReportStateChange(context, false); } // raise the audit event. AuditConditionCommentEventState e = new AuditConditionCommentEventState(null); TranslationInfo info = new TranslationInfo( "AuditConditionComment", "en-US", "The AddComment method was called."); e.Initialize( context, this, EventSeverity.Low, new LocalizedText(info), ServiceResult.IsGood(error), DateTime.UtcNow); e.SetChildValue(context, BrowseNames.SourceNode, NodeId, false); e.SetChildValue(context, BrowseNames.SourceName, "Method/AddComment", false); e.SetChildValue(context, BrowseNames.MethodId, method.NodeId, false); e.SetChildValue(context, BrowseNames.InputArguments, new object[] { eventId, comment }, false); e.SetChildValue(context, BrowseNames.ConditionEventId, eventId, false); e.SetChildValue(context, BrowseNames.Comment, comment, false); ReportEvent(context, e); } return(error); }
/// <summary> /// Called when the add comment method is called. /// </summary> /// <param name="context">The system context.</param> /// <param name="method">The method being called.</param> /// <param name="objectId">The id of the object.</param> /// <param name="eventId">The identifier for the event which is the target for the comment.</param> /// <param name="comment">The comment.</param> /// <returns>Any error.</returns> protected virtual ServiceResult OnAddCommentCalled( ISystemContext context, MethodState method, NodeId objectId, byte[] eventId, LocalizedText comment) { ServiceResult error = ProcessBeforeAddComment(context, eventId, comment); if (ServiceResult.IsGood(error)) { SetComment(context, comment, GetCurrentUserId(context)); } if (this.AreEventsMonitored) { // report a state change event. if (ServiceResult.IsGood(error)) { ReportStateChange(context, false); } // raise the audit event. AuditConditionCommentEventState e = new AuditConditionCommentEventState(null); TranslationInfo info = new TranslationInfo( "AuditConditionComment", "en-US", "The AddComment method was called."); e.Initialize( context, this, EventSeverity.Low, new LocalizedText(info), ServiceResult.IsGood(error), DateTime.UtcNow); e.SourceName.Value = "Attribute/Call"; e.MethodId = new PropertyState <NodeId>(e); e.MethodId.Value = method.NodeId; e.InputArguments = new PropertyState <object[]>(e); e.InputArguments.Value = new object[] { eventId, comment }; ReportEvent(context, e); } return(error); }
/// <summary> /// Handles the Enable method. /// </summary> protected virtual ServiceResult OnEnableCalled( ISystemContext context, MethodState method, IList <object> inputArguments, IList <object> outputArguments) { ServiceResult error = ProcessBeforeEnableDisable(context, true); if (ServiceResult.IsGood(error)) { UpdateStateAfterEnable(context); } if (this.AreEventsMonitored) { // report a state change event. if (ServiceResult.IsGood(error)) { ReportStateChange(context, false); } // raise the audit event. AuditConditionCommentEventState e = new AuditConditionCommentEventState(null); TranslationInfo info = new TranslationInfo( "AuditConditionEnable", "en-US", "The Enable method was called."); e.Initialize( context, this, EventSeverity.Low, new LocalizedText(info), ServiceResult.IsGood(error), DateTime.UtcNow); e.SourceName.Value = "Attribute/Call"; e.MethodId = new PropertyState <NodeId>(e); e.MethodId.Value = method.NodeId; ReportEvent(context, e); } return(error); }
/// <summary> /// Handles the Enable method. /// </summary> protected virtual ServiceResult OnEnableCalled( ISystemContext context, MethodState method, IList<object> inputArguments, IList<object> outputArguments) { ServiceResult error = ProcessBeforeEnableDisable(context, true); if (ServiceResult.IsGood(error)) { UpdateStateAfterEnable(context); } if (this.AreEventsMonitored) { // report a state change event. if (ServiceResult.IsGood(error)) { ReportStateChange(context, false); } // raise the audit event. AuditConditionCommentEventState e = new AuditConditionCommentEventState(null); TranslationInfo info = new TranslationInfo( "AuditConditionEnable", "en-US", "The Enable method was called."); e.Initialize( context, this, EventSeverity.Low, new LocalizedText(info), ServiceResult.IsGood(error), DateTime.UtcNow); e.SourceName.Value = "Attribute/Call"; e.MethodId = new PropertyState<NodeId>(e); e.MethodId.Value = method.NodeId; ReportEvent(context, e); } return error; }
/// <summary> /// Called when the add comment method is called. /// </summary> /// <param name="context">The system context.</param> /// <param name="method">The method being called.</param> /// <param name="objectId">The id of the object.</param> /// <param name="eventId">The identifier for the event which is the target for the comment.</param> /// <param name="comment">The comment.</param> /// <returns>Any error.</returns> protected virtual ServiceResult OnAddCommentCalled( ISystemContext context, MethodState method, NodeId objectId, byte[] eventId, LocalizedText comment) { ServiceResult error = ProcessBeforeAddComment(context, eventId, comment); if (ServiceResult.IsGood(error)) { SetComment(context, comment, GetCurrentUserId(context)); } if (this.AreEventsMonitored) { // report a state change event. if (ServiceResult.IsGood(error)) { ReportStateChange(context, false); } // raise the audit event. AuditConditionCommentEventState e = new AuditConditionCommentEventState(null); TranslationInfo info = new TranslationInfo( "AuditConditionComment", "en-US", "The AddComment method was called."); e.Initialize( context, this, EventSeverity.Low, new LocalizedText(info), ServiceResult.IsGood(error), DateTime.UtcNow); e.SourceName.Value = "Attribute/Call"; e.MethodId = new PropertyState<NodeId>(e); e.MethodId.Value = method.NodeId; e.InputArguments = new PropertyState<object[]>(e); e.InputArguments.Value = new object[] { eventId, comment }; ReportEvent(context, e); } return error; }