/// <summary> /// Adds a property setter for all primitive properties on T that /// meet the filter /// </summary> /// <param format="filter"></param> /// <returns></returns> public ObjectConstructionExpression <T> SetAllPrimitiveProperties(Func <PropertyInfo, bool> filter) { foreach (PropertyInfo property in typeof(T).GetProperties()) { if (!property.CanWrite) { continue; } if (!property.PropertyType.IsSimple()) { continue; } if (!filter(property)) { continue; } var accessor = new SingleProperty(property); var child = new SetPropertyGrammar(accessor); _grammar.AddGrammar(child); } return(this); }
/// <summary> /// Creates a line to set a single property /// </summary> /// <param format="expression"></param> /// <returns></returns> public ICellExpression SetProperty(Expression <Func <T, object> > expression, string defaultValue = null) { var grammar = SetPropertyGrammar.For(expression); _grammar.AddGrammar(grammar); if (defaultValue.IsNotEmpty()) { grammar.CellModifications.DefaultValue(defaultValue); } return(grammar.CellModifications); }