/// <summary> /// Prompts the user to provide a comment before acknowledging a group of events. /// </summary> public bool ShowDialog(TsCAeServer server, TsCAeEventNotification[] notifications) { // prompt user to provide a comment. AcknowledgerTB.Text = Environment.UserName; CommentTB.Text = "Acknowledged."; if (ShowDialog() != DialogResult.OK) { return(false); } try { // create acknowledgements. TsCAeEventAcknowledgement[] acknowledgements = new TsCAeEventAcknowledgement[notifications.Length]; for (int ii = 0; ii < notifications.Length; ii++) { acknowledgements[ii] = new TsCAeEventAcknowledgement(notifications[ii]); } // acknowledge events. OpcResult[] results = server.AcknowledgeCondition( AcknowledgerTB.Text, CommentTB.Text, acknowledgements); // check for errors. StringBuilder errors = new StringBuilder(); for (int ii = 0; ii < results.Length; ii++) { if (results[ii].Failed()) { if (errors.Length > 0) { errors.Append(Environment.NewLine); } errors.Append(acknowledgements[ii].SourceName); errors.Append("/"); errors.Append(acknowledgements[ii].ConditionName); errors.Append(" Failed: "); errors.Append(results[ii].ToString()); errors.Append("."); } } // show errors. if (errors.Length > 0) { MessageBox.Show(errors.ToString(), "Acknowledgement Failed"); } return(true); } catch (Exception e) { MessageBox.Show(e.Message); } return(false); }