private string LoadSystemSettings() { using (SystemInfoDataContext systemInfo = new SystemInfoDataContext(m_dbConnectionString)) { return(LoadSystemSettings(systemInfo)); } }
private string LoadSystemSettings(SystemInfoDataContext systemInfo) { // Convert the Setting table to a dictionary Dictionary <string, string> settings = systemInfo.Settings .ToDictionary(setting => setting.Name, setting => setting.Value, StringComparer.OrdinalIgnoreCase); // Add the database connection string if there is not // already one explicitly specified in the Setting table if (!settings.ContainsKey("dbConnectionString")) { settings.Add("dbConnectionString", m_dbConnectionString); } // Convert dictionary to a connection string and return it return(SystemSettings.ToConnectionString(settings)); }
public override void Execute(MeterDataSet meterDataSet) { CycleDataResource cycleDataResource = CycleDataResource.GetResource(meterDataSet, m_dbAdapterContainer); SagDataResource sagDataResource = SagDataResource.GetResource(meterDataSet, m_dbAdapterContainer); SwellDataResource swellDataResource = SwellDataResource.GetResource(meterDataSet, m_dbAdapterContainer); InterruptionDataResource interruptionDataResource = InterruptionDataResource.GetResource(meterDataSet, m_dbAdapterContainer); DisturbanceTableAdapter disturbanceAdapter = m_dbAdapterContainer.GetAdapter <DisturbanceTableAdapter>(); DisturbanceDataTable disturbanceTable = disturbanceAdapter.GetDataByFileGroup(meterDataSet.FileGroup.ID); SystemInfoDataContext systemInfo = m_dbAdapterContainer.GetAdapter <SystemInfoDataContext>(); m_disturbanceSeverityTable = new DisturbanceSeverityDataTable(); foreach (VoltageEnvelope envelope in systemInfo.VoltageEnvelopes) { foreach (DisturbanceRow disturbance in disturbanceTable) { IEnumerable <VoltageCurvePoint> points = envelope.VoltageCurves.Select(curve => curve.VoltageCurvePoints .Where(p => p.DurationSeconds <= disturbance.DurationSeconds) .OrderBy(p => p.LoadOrder) .LastOrDefault()); IEnumerable <int> severityCodes = points.Select(point => ((object)point != null) ? (int)((1.0D - disturbance.PerUnitMagnitude) / (1.0D - point.PerUnitMagnitude)) : 0); int maxSeverityCode = severityCodes .DefaultIfEmpty(0) .Max(); if (maxSeverityCode < 0) { maxSeverityCode = 0; } else if (maxSeverityCode > 5) { maxSeverityCode = 5; } m_disturbanceSeverityTable.AddDisturbanceSeverityRow(envelope.ID, disturbance.ID, maxSeverityCode); } } }