static void HistoryDeleteRaw(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++)
{
DeleteRawModifiedDetails deleteDetails = new DeleteRawModifiedDetails();
deleteDetails.StartTime = new DateTime(2008, 1, 1, 12, 0, 0);
deleteDetails.EndTime = new DateTime(2008, 1, 1, 12, 0, 10);
deleteDetails.NodeId = results[ii].NodeId;
deleteDetails.IsDeleteModified = 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("");
}
}
}