/// <summary> /// Serializes a table configuration to a stream. /// </summary> /// <param name="stream"> /// Target stream. /// </param> /// <param name="tableConfiguration"> /// Table configuration to serialize. /// </param> /// <param name="tableId"> /// Table identifier. /// </param> /// <param name="logger"> /// Used to log relevant messages. /// </param> public static void SerializeTableConfiguration( Stream stream, Processing.TableConfiguration tableConfiguration, Guid tableId, ILogger logger) { var tableConfigurations = new Processing.TableConfigurations(tableId) { Configurations = new[] { tableConfiguration } }; var prebuiltConfigurations = tableConfigurations.ConvertToDto(); SerializeTableConfigurations(stream, prebuiltConfigurations, logger); }
internal static PrebuiltConfigurations ConvertToDto( this Processing.TableConfigurations tableConfigurations, Func <Processing.TableConfiguration, IDictionary <ColumnRole, ColumnRoleEntry> > convertColumnRoles) { var dtoTableConfigurations = new PrebuiltConfigurations() { Version = PrebuiltConfigurations.DTOVersion, Tables = new TableConfigurations[] { new TableConfigurations() { TableId = tableConfigurations.TableId, Configurations = tableConfigurations.Select(config => config.ConvertToDto(convertColumnRoles)).ToArray(), DefaultConfigurationName = tableConfigurations.DefaultConfigurationName } } }; return(dtoTableConfigurations); }
internal static PrebuiltConfigurations ConvertToDto( this Processing.TableConfigurations tableConfigurations) { return(tableConfigurations.ConvertToDto(defaultColumnRolesConverter)); }