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 FillEMSLoadFlowGeneratorResults(EMSLoadFlowGeneratorResults result) { List <EMSLoadFlowGeneratorViewModel> records = new List <EMSLoadFlowGeneratorViewModel>(); foreach (EMSLoadFlowGeneratorRecord record in result.Records) { records.Add(new EMSLoadFlowGeneratorViewModel(record, isTabularViewActive)); } if (records.Count > 0) { byte minLevel = records.Min(rec => rec.DataGridTreeViewItemInfo.Level); if (minLevel > 0) { foreach (EMSLoadFlowGeneratorViewModel record in records) { record.DataGridTreeViewItemInfo.Level = (byte)(record.DataGridTreeViewItemInfo.Level - minLevel); } } } reportView.EMSLoadFlowGeneratorDataGrid.ItemsSource = records; }