internal static TableConfiguration ConvertToDto( this Microsoft.Performance.SDK.Processing.TableConfiguration configuration, Func <Processing.TableConfiguration, IDictionary <ColumnRole, ColumnRoleEntry> > convertColumnRoles) { var dto = new TableConfiguration { ChartType = configuration.ChartType.ConvertToDto(), Layout = configuration.Layout.ConvertToDto(), AggregationOverTime = configuration.AggregationOverTime.ConvertToDto(), Columns = configuration.Columns.Select(column => column.ConvertToDto()).ToArray(), ColumnRoles = convertColumnRoles(configuration), Name = configuration.Name, InitialFilterQuery = configuration.InitialFilterQuery, InitialExpansionQuery = configuration.InitialExpansionQuery, InitialSelectionQuery = configuration.InitialSelectionQuery, InitialFilterShouldKeep = configuration.InitialFilterShouldKeep, GraphFilterTopValue = configuration.GraphFilterTopValue, GraphFilterThresholdValue = configuration.GraphFilterThresholdValue, GraphFilterColumnName = configuration.GraphFilterColumnName, GraphFilterColumnGuid = configuration.GraphFilterColumnGuid, HelpText = configuration.HelpText, HighlightEntries = configuration.HighlightEntries.Select(entry => entry.ConvertToDto()).ToArray(), }; return(dto); }
private static Microsoft.Performance.SDK.Processing.TableConfiguration ConvertToSdk(this TableConfiguration dto) { var tableConfiguration = new Microsoft.Performance.SDK.Processing.TableConfiguration(dto.Name) { ChartType = dto.ChartType.ConvertToSdk(), Layout = dto.Layout.ConvertToSdk(), AggregationOverTime = dto.AggregationOverTime.ConvertToSDK(), InitialFilterQuery = dto.InitialFilterQuery, InitialExpansionQuery = dto.InitialExpansionQuery, InitialSelectionQuery = dto.InitialSelectionQuery, InitialFilterShouldKeep = dto.InitialFilterShouldKeep, GraphFilterTopValue = dto.GraphFilterTopValue, GraphFilterThresholdValue = dto.GraphFilterThresholdValue, GraphFilterColumnName = dto.GraphFilterColumnName, GraphFilterColumnGuid = dto.GraphFilterColumnGuid, HelpText = dto.HelpText, }; if (dto.HighlightEntries != null) { tableConfiguration.HighlightEntries = dto.HighlightEntries.Select(entry => entry.ConvertToSdk()).ToArray(); } if (dto.Columns != null) { tableConfiguration.Columns = dto.Columns.Select(column => column.ConvertToSdk()).ToArray(); } if (dto.ColumnRoles != null) { foreach (var kvp in dto.ColumnRoles) { var role = kvp.Key.ConvertToSdk(); if (!role.HasValue) { continue; } tableConfiguration.AddColumnRole(role.Value, kvp.Value.ColumnGuid); } } return(tableConfiguration); }