Quickstarts.HistoricalEvents.Server.ReportGenerator.GetFluidLevelTestReport C# (CSharp) Method

GetFluidLevelTestReport() public method

public GetFluidLevelTestReport ( ISystemContext SystemContext, ushort namespaceIndex, DataRow row ) : BaseEventState
SystemContext ISystemContext
namespaceIndex ushort
row System.Data.DataRow
return Opc.Ua.BaseEventState
        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;
        }