public Opc.Ua.BaseEventState GetFluidLevelTestReport(ISystemContext SystemContext, ushort namespaceIndex, DataRow row)
{
// construct translation object with default text.
TranslationInfo info = new TranslationInfo(
"FluidLevelTestReport",
"en-US",
"A fluid level test report is available.");
// construct the event.
FluidLevelTestReportState e = new FluidLevelTestReportState(null);
e.Initialize(
SystemContext,
null,
EventSeverity.Medium,
new LocalizedText(info));
// override event id and time.
e.EventId.Value = new Guid((string)row[Opc.Ua.BrowseNames.EventId]).ToByteArray();
e.Time.Value = (DateTime)row[Opc.Ua.BrowseNames.Time];
string nameWell = (string)row[BrowseNames.NameWell];
string uidWell = (string)row[BrowseNames.UidWell];
e.SetChildValue(SystemContext, Opc.Ua.BrowseNames.SourceName, nameWell, false);
e.SetChildValue(SystemContext, Opc.Ua.BrowseNames.SourceNode, new NodeId(uidWell, namespaceIndex), false);
e.SetChildValue(SystemContext, Opc.Ua.BrowseNames.LocalTime, m_timeZone, false);
e.SetChildValue(SystemContext, new QualifiedName(BrowseNames.NameWell, namespaceIndex), nameWell, false);
e.SetChildValue(SystemContext, new QualifiedName(BrowseNames.UidWell, namespaceIndex), uidWell, false);
e.SetChildValue(SystemContext, new QualifiedName(BrowseNames.TestDate, namespaceIndex), row[BrowseNames.TestDate], false);
e.SetChildValue(SystemContext, new QualifiedName(BrowseNames.TestReason, namespaceIndex), row[BrowseNames.TestReason], false);
e.SetChildValue(SystemContext, new QualifiedName(BrowseNames.TestedBy, namespaceIndex), row[BrowseNames.TestedBy], false);
e.SetChildValue(SystemContext, new QualifiedName(BrowseNames.FluidLevel, namespaceIndex), row[BrowseNames.FluidLevel], false);
e.FluidLevel.SetChildValue(SystemContext, Opc.Ua.BrowseNames.EngineeringUnits, new EUInformation((string)row[Opc.Ua.BrowseNames.EngineeringUnits], Namespaces.HistoricalEvents), false);
return e;
}