コード例 #1
0
        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);
        }
コード例 #2
0
        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;
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
 public void SetRange()
 {
     _sliceProvider = Range;
 }
コード例 #6
0
 public void SetList()
 {
     _sliceProvider = List;
 }
コード例 #7
0
 public void SetSingle()
 {
     _sliceProvider = Single;
 }
コード例 #8
0
 public void SetParent()
 {
     _sliceProvider = Parent;
 }