public override void Apply(IEntityMapBuilder <TEntity, TSchema> builder) { var mapper = new SingleSliceValueEntityProperty <TEntity, TValue>(builder.ImplementationType, Property.Name, Position, Factory); ITextSliceProvider <TEntity> provider = new ValueSliceProvider <TEntity, TValue>(Property, _valueFormatter); builder.Add(mapper, provider); }
public void SetDouble(int firstPosition, int secondPosition) { TextSlice Double(TextSlice slice, int position) { slice.TryGetSlice(firstPosition, out var firstSlice); slice.TryGetSlice(secondPosition, out var secondSlice); return(new CompositeTextSlice(firstSlice, secondSlice)); } _sliceProvider = Double; }
public override void Apply(IEntityMapBuilder <TEntity, TSchema> builder) { var mapper = new SingleSliceValueEntityProperty <TEntity, TValue>(builder.ImplementationType, Property.Name, Position, GetValue); // TODO will need formatter eventually cached,shared IValueFormatter <TValue> formatter = new ToStringValueFormatter <TValue>(); ITextSliceProvider <TEntity> provider = new ValueSliceProvider <TEntity, TValue>(Property, formatter); builder.Add(mapper, provider); }
public ValueListEntityPropertyConverter(Type implementationType, string propertyName, int position, ValueListFactory <TValue> valueFactory, ValueSliceProvider valueSliceProvider) { if (implementationType == null) { throw new ArgumentNullException(nameof(implementationType)); } if (propertyName == null) { throw new ArgumentNullException(nameof(propertyName)); } _position = position; _valueFactory = valueFactory ?? throw new ArgumentNullException(nameof(valueFactory)); _valueSliceProvider = valueSliceProvider ?? throw new ArgumentNullException(nameof(valueSliceProvider)); _writeProperty = new WriteProperty <TEntity, ValueList <TValue> >(implementationType, propertyName); }
public void SetRange() { _sliceProvider = Range; }
public void SetList() { _sliceProvider = List; }
public void SetSingle() { _sliceProvider = Single; }
public void SetParent() { _sliceProvider = Parent; }