protected internal void ResultHandler(JobResult result) { messageHelper.HideMessage(); if (result is EMSLoadFlowReportResult) { EMSLoadFlowReportResult reportResult = (EMSLoadFlowReportResult)result; switch (reportResult.EMSLoadFlowReportType) { case EMSLoadFlowReportType.Node: { EMSLoadFlowNodeResults results = reportResult as EMSLoadFlowNodeResults; if (results != null && results.Records.Count != 0) { FillEMSLoadFlowNodeResults(results); } break; } case EMSLoadFlowReportType.Generator: { EMSLoadFlowGeneratorResults results = reportResult as EMSLoadFlowGeneratorResults; if (results != null && results.Records.Count != 0) { FillEMSLoadFlowGeneratorResults(results); } break; } case EMSLoadFlowReportType.Load: { EMSLoadFlowLoadResults results = reportResult as EMSLoadFlowLoadResults; if (results != null && results.Records.Count != 0) { FillEMSLoadFlowLoadResults(results); } break; } case EMSLoadFlowReportType.NoResults: break; default: break; } } }
internal void FillEMSLoadFlowLoadResults(EMSLoadFlowLoadResults result) { List <EMSLoadFlowLoadViewModel> records = new List <EMSLoadFlowLoadViewModel>(); foreach (EMSLoadFlowLoadRecord record in result.Records) { records.Add(new EMSLoadFlowLoadViewModel(record, isTabularViewActive)); } if (records.Count > 0) { byte minLevel = records.Min(rec => rec.DataGridTreeViewItemInfo.Level); if (minLevel > 0) { foreach (EMSLoadFlowLoadViewModel record in records) { record.DataGridTreeViewItemInfo.Level = (byte)(record.DataGridTreeViewItemInfo.Level - minLevel); } } } reportView.EMSLoadFlowLoadDataGrid.ItemsSource = records; }