/// <summary> /// Creates a new converting datasource. /// </summary> /// <param name="dataSource">The datasource to adapt.</param> /// <param name="converter">The converter to use to convert between model to serializable model type.</param> public ConverterDataSourceGGDBFAdapter(IGGDBFDataSource dataSource, IGGDBFDataConverter converter) { DataSource = dataSource ?? throw new ArgumentNullException(nameof(dataSource)); Converter = converter ?? throw new ArgumentNullException(nameof(converter)); }
public static TSerializableModelType[] Convert <TModelType, TSerializableModelType>(this IGGDBFDataConverter converter, ICollection <TModelType> models) where TModelType : class where TSerializableModelType : TModelType, IGGDBFSerializable { if (converter == null) { throw new ArgumentNullException(nameof(converter)); } if (models == null) { return(null); } if (models.Count == 0) { return(Array.Empty <TSerializableModelType>()); } return(models .Select(converter.Convert <TModelType, TSerializableModelType>) .ToArray()); }
public ContextReflectionGGDBFDataSource(IGGDBFDataSource source, IGGDBFDataConverter converter) { Source = source ?? throw new ArgumentNullException(nameof(source)); Converter = converter ?? throw new ArgumentNullException(nameof(converter)); }