Esempio n. 1
0
        private void SwitchRecording(TimeSeriesLink query, bool record)
        {
            Dictionary <ProjectViewRow.RecorderFields, object> constraint = new Dictionary <ProjectViewRow.RecorderFields, object>();

            if (query.NetworkElement.Length > 0)
            {
                constraint[ProjectViewRow.RecorderFields.NetworkElementName] = query.NetworkElement;
            }

            if (query.RecordingElement.Length > 0)
            {
                constraint[ProjectViewRow.RecorderFields.ElementName] = query.RecordingElement;
            }

            if (!string.IsNullOrEmpty(query.FunctionalUnit))
            {
                constraint[ProjectViewRow.RecorderFields.WaterFeatureType] = query.FunctionalUnit;
            }

            var table = Scenario.ProjectViewTable();
            var rows  = table.Select(constraint);
            var state = record ? RecordingStates.RecordAll : RecordingStates.RecordNone;

            foreach (var row in rows)
            {
#if BEFORE_RECORDING_ATTRIBUTES_REFACTOR
                foreach (var recordable in row.ElementRecorder.RecordableAttributes)
                {
                    if ((query.RecordingVariable.Length == 0) ||
                        (recordable.FullKeyString.IndexOf(query.RecordingVariable, StringComparison.Ordinal) >= 0))
                    {
                        row.ElementRecorder.SetRecordingState(recordable.KeyString, recordable.KeyObject, state);
                    }
                }
#else
                foreach (var recordable in row.ElementRecorder.RecordableItems)
                {
                    var recordableItemDisplayString =
                        RecordableItemTransitionUtil.GetLegacyKeyString(recordable);
                    if ((query.RecordingVariable.Length == 0) ||
                        (recordableItemDisplayString.IndexOf(query.RecordingVariable, StringComparison.Ordinal) >= 0))
                    {
                        row.ElementRecorder.SetRecordingState(recordable.Key, recordable.KeyObject, state);
                    }
                }
#endif
            }
        }
Esempio n. 2
0
        private bool MatchesVariable(ProjectViewRow row, KeyValuePair <RecordableItem, TimeSeries> er, string variable)
#endif
        {
            if (variable == UriTemplates.MatchAll)
            {
                return(true);
            }

#if BEFORE_RECORDING_ATTRIBUTES_REFACTOR
            return((URLSafeString(er.Key.KeyString) == URLSafeString(variable)) ||
                   ((er.Key.KeyString == "") && (row.ElementName == variable)));
#else
            var recordableItemDisplayName = RecordableItemTransitionUtil.GetLegacyKeyString(er.Key);

            return((URLSafeString(recordableItemDisplayName) == URLSafeString(variable)) ||
                   ((recordableItemDisplayName == "") && (row.ElementName == variable)));
#endif
        }
Esempio n. 3
0
        public TimeSeries GetResults(string query)
        {
            string[] queryComponents = query.Trim('/').Split('/');
            if (queryComponents.Length < 2)
            {
                return(null);
            }

            string networkElement = queryComponents[0];
            string property       = queryComponents[1];
            string parameter      = (queryComponents.Length > 2)?queryComponents[2]:"";

            var latestRun = Scenario.Project.ResultManager.AllRuns().Last();
            var rows      = latestRun.RunParameters.Where(x => (x.NetworkElementName == networkElement) && (x.ElementName == property)).ToArray();

#if BEFORE_RECORDING_ATTRIBUTES_REFACTOR
            var results     = rows[0].ElementRecorder.GetResultList();
            var matchingKey = (parameter == "")?null:results.Keys.FirstOrDefault(k => k.KeyString.Contains(parameter));
#else
            var results     = rows[0].ElementRecorder.GetResultsLookup();
            var matchingKey = (parameter == "") ? null : results.Keys.FirstOrDefault(k => RecordableItemTransitionUtil.GetLegacyKeyString(k).Contains(parameter));
#endif

            return((matchingKey == null)?null:results[matchingKey]);
        }
Esempio n. 4
0
        private static string SelectRecordingVariable(RecordableItem key, ProjectViewRow row)
        {
            var recordableItemDisplayString = RecordableItemTransitionUtil.GetLegacyKeyString(key);

            return((recordableItemDisplayString == "") ? row.ElementName : recordableItemDisplayString);
        }