/// <summary> /// Map a free text property /// </summary> /// <param name="propertyExpression"></param> /// <param name="position"></param> /// <param name="configure"></param> protected void Value(Expression <Func <TEntity, Value <FT> > > propertyExpression, int position, Action <IPropertyConfigurator> configure = null) { var propertyInfo = propertyExpression.GetPropertyInfo(); var specification = new ValuePropertySpecification <TEntity, TSchema, FT>(propertyInfo, position, HL7ValueConverters.FT, HL7ValueFormatters.FT); configure?.Invoke(specification); _configurator.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); }