/// <summary> /// Map the property /// </summary> /// <param name="propertyExpression">A property expression</param> /// <param name="position">The value position</param> /// <param name="configure">A delegate to configure the property map</param> protected void Value(Expression <Func <TEntity, Value <byte> > > propertyExpression, int position, Action <IPropertyConfigurator> configure = null) { var propertyInfo = propertyExpression.GetPropertyInfo(); var specification = new ValuePropertySpecification <TEntity, TSchema, byte>(propertyInfo, position, ValueConverters.Byte, ValueFormatters.Byte); configure?.Invoke(specification); _specification.Add(propertyInfo.Name, specification); }
/// <summary> /// Map the property /// </summary> /// <param name="propertyExpression">A property expression</param> /// <param name="position">The value position</param> /// <param name="configure">A delegate to configure the property map</param> protected void Value(Expression <Func <TEntity, Value <DateTimePeriod> > > propertyExpression, int position, Action <IPropertyConfigurator <DateTimePeriod> > configure = null) { var propertyInfo = propertyExpression.GetPropertyInfo(); var specification = new ValuePropertySpecification <TEntity, TSchema, DateTimePeriod>(propertyInfo, position, X12ValueConverters.DateTimePeriod, X12ValueFormatters.DateTimePeriod); configure?.Invoke(specification); _configurator.Add(propertyInfo.Name, specification); }
/// <summary> /// Map the property /// </summary> /// <param name="propertyExpression">A property expression</param> /// <param name="datePosition">The date position</param> /// <param name="timePosition">The time position</param> /// <param name="configure">A delegate to configure the property map</param> protected void Value(Expression <Func <TEntity, Value <DateTime> > > propertyExpression, int datePosition, int timePosition, Action <IPropertyConfigurator <DateTime> > configure = null) { var propertyInfo = propertyExpression.GetPropertyInfo(); var specification = new ValuePropertySpecification <TEntity, TSchema, DateTime>(propertyInfo, datePosition, ValueConverters.DateTime, ValueFormatters.DateTime); specification.SetDouble(datePosition, timePosition); configure?.Invoke(specification); _configurator.Add(propertyInfo.Name, specification); }