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

ReadHistory() private method

Reads the history for the specified time range.
private ReadHistory ( ReportType reportType, StringBuilder filter, System.DateTime startTime, System.DateTime endTime ) : DataView
reportType ReportType
filter StringBuilder
startTime System.DateTime
endTime System.DateTime
return System.Data.DataView
        private DataView ReadHistory(ReportType reportType, StringBuilder filter, DateTime startTime, DateTime endTime)
        {
            DateTime earlyTime = startTime;
            DateTime lateTime = endTime;

            if (endTime < startTime && endTime != DateTime.MinValue)
            {
                earlyTime = endTime;
                lateTime = startTime;
            }

            if (earlyTime != DateTime.MinValue)
            {
                if (filter.Length > 0)
                {
                    filter.Append(" AND ");
                }

                filter.Append('(');
                filter.Append(Opc.Ua.BrowseNames.Time);
                filter.Append(">=");
                filter.Append('#');
                filter.Append(earlyTime);
                filter.Append('#');
                filter.Append(')');
            }

            if (lateTime != DateTime.MinValue)
            {
                if (filter.Length > 0)
                {
                    filter.Append(" AND ");
                }

                filter.Append('(');
                filter.Append(Opc.Ua.BrowseNames.Time);
                filter.Append('<');
                filter.Append('#');
                filter.Append(lateTime);
                filter.Append('#');
                filter.Append(')');
            }

            DataView view = new DataView(
                m_dataset.Tables[(int)reportType],
                filter.ToString(),
                Opc.Ua.BrowseNames.Time,
                DataViewRowState.CurrentRows);

            return view;
        }