Opc.Ua.Sample.Program.HistoryDeleteAtTime C# (CSharp) Method

HistoryDeleteAtTime() static private method

Deletes the history of values for a set of variables at given time.
static private HistoryDeleteAtTime ( Session session ) : void
session Session
return void
        static void HistoryDeleteAtTime(Session session)
        {
            // translate browse paths.
            IList<NodeOfInterest> results = GetNodeIds(session, Opc.Ua.Objects.ObjectsFolder, 
                VariableBrowsePaths.ToArray());


            DiagnosticInfoCollection diagnosticInfos;

            ExtensionObjectCollection eoc = new ExtensionObjectCollection();
            for (int ii = 0; ii < results.Count; ii++)
            {
                DeleteAtTimeDetails deleteDetails = new DeleteAtTimeDetails();
                deleteDetails.ReqTimes = new DateTimeCollection();
                for (int jj = 0; jj < 5; jj++)
                {
                    deleteDetails.ReqTimes.Add(new DateTime(2008, 01, 01, 12, 0, jj * 2));
                }

                deleteDetails.NodeId = results[ii].NodeId;
                deleteDetails.Processed = false;

                ExtensionObject eo = new ExtensionObject(deleteDetails.TypeId, deleteDetails);
                eoc.Add(eo);
            }

            HistoryUpdateResultCollection historyUpdateResults;

            ResponseHeader responseHeader =
                session.HistoryUpdate(null, eoc, out historyUpdateResults, out diagnosticInfos);

            // process results.

            for (int ii = 0; ii < historyUpdateResults.Count; ii++)
            {
                HistoryUpdateResult historyUpdateResult = historyUpdateResults[ii];

                Console.WriteLine("HistoryUpdate result code for {0}:  {1}", VariableBrowsePaths[ii], historyUpdateResult.StatusCode.ToString());

                if (StatusCode.IsGood(historyUpdateResult.StatusCode))
                {
                    for (int jj = 0; jj < historyUpdateResult.OperationResults.Count; jj++)
                    {
                        Console.WriteLine("    {0}: {1}", jj, historyUpdateResult.OperationResults[jj]);
                    }
                    Console.WriteLine("");
                }
            }
        }