public void FillTables(DbAdapterContainer dbAdapterContainer) { MeterData.EventDataTable eventTable; Dictionary <EventKey, MeterData.EventRow> eventLookup; MeterData.EventRow eventRow; eventTable = dbAdapterContainer.GetAdapter <EventTableAdapter>().GetDataByFileGroup(MeterDataSet.FileGroup.ID); eventLookup = eventTable .Where(evt => evt.MeterID == MeterDataSet.Meter.ID) .GroupBy(CreateEventKey) .ToDictionary(grouping => grouping.Key, grouping => { if (grouping.Count() > 1) { Log.Warn($"Duplicate event found for meter {MeterDataSet.Meter.AssetKey}: {string.Join(", ", grouping.Select(evt => evt.ID))}"); } return(grouping.First()); }); foreach (Tuple <EventKey, FaultLocationData.FaultGroupRow> faultGroup in m_faultGroupList) { if (eventLookup.TryGetValue(faultGroup.Item1, out eventRow)) { faultGroup.Item2.EventID = eventRow.ID; FaultGroupTable.AddFaultGroupRow(faultGroup.Item2); } } foreach (Tuple <EventKey, FaultLocationData.FaultSegmentRow> faultSegment in m_faultSegmentList) { if (eventLookup.TryGetValue(faultSegment.Item1, out eventRow)) { faultSegment.Item2.EventID = eventRow.ID; FaultSegmentTable.AddFaultSegmentRow(faultSegment.Item2); } } foreach (Tuple <EventKey, FaultLocationData.FaultCurveRow> faultCurve in m_faultCurveList) { if (eventLookup.TryGetValue(faultCurve.Item1, out eventRow)) { faultCurve.Item2.EventID = eventRow.ID; FaultCurveTable.AddFaultCurveRow(faultCurve.Item2); } } foreach (Tuple <EventKey, FaultLocationData.FaultSummaryRow> faultSummary in m_faultSummaryList) { if (eventLookup.TryGetValue(faultSummary.Item1, out eventRow)) { faultSummary.Item2.EventID = eventRow.ID; FaultSummaryTable.AddFaultSummaryRow(faultSummary.Item2); } } }
public void FillTables(DbAdapterContainer dbAdapterContainer) { MeterData.EventDataTable eventTable; Dictionary <EventKey, MeterData.EventRow> eventLookup; MeterData.EventRow eventRow; eventTable = dbAdapterContainer.GetAdapter <EventTableAdapter>().GetDataByFileGroup(MeterDataSet.FileGroup.ID); eventLookup = eventTable.Where(evt => evt.MeterID == MeterDataSet.Meter.ID).ToDictionary(CreateEventKey); foreach (Tuple <EventKey, FaultLocationData.FaultGroupRow> faultGroup in m_faultGroupList) { if (eventLookup.TryGetValue(faultGroup.Item1, out eventRow)) { faultGroup.Item2.EventID = eventRow.ID; FaultGroupTable.AddFaultGroupRow(faultGroup.Item2); } } foreach (Tuple <EventKey, FaultLocationData.FaultSegmentRow> faultSegment in m_faultSegmentList) { if (eventLookup.TryGetValue(faultSegment.Item1, out eventRow)) { faultSegment.Item2.EventID = eventRow.ID; FaultSegmentTable.AddFaultSegmentRow(faultSegment.Item2); } } foreach (Tuple <EventKey, FaultLocationData.FaultCurveRow> faultCurve in m_faultCurveList) { if (eventLookup.TryGetValue(faultCurve.Item1, out eventRow)) { faultCurve.Item2.EventID = eventRow.ID; FaultCurveTable.AddFaultCurveRow(faultCurve.Item2); } } foreach (Tuple <EventKey, FaultLocationData.FaultSummaryRow> faultSummary in m_faultSummaryList) { if (eventLookup.TryGetValue(faultSummary.Item1, out eventRow)) { faultSummary.Item2.EventID = eventRow.ID; FaultSummaryTable.AddFaultSummaryRow(faultSummary.Item2); } } }