예제 #1
0
 /// <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());
        }
예제 #3
0
 public ContextReflectionGGDBFDataSource(IGGDBFDataSource source, IGGDBFDataConverter converter)
 {
     Source    = source ?? throw new ArgumentNullException(nameof(source));
     Converter = converter ?? throw new ArgumentNullException(nameof(converter));
 }