/// <summary> /// Default constructor /// </summary> /// <param name="property"></param> /// <param name="targetStrategy"></param> /// <param name="exportCondition"></param> public PropertyExportStrategy(PropertyInfo property, IExportStrategy targetStrategy, IExportCondition exportCondition) : base(property.PropertyType) { this.propertyInfo = property; this.strategy = targetStrategy; this.exportCondition = exportCondition; }
/// <summary> /// Add a condition to the export /// </summary> /// <param name="exportCondition"></param> public virtual IConfigurableExportStrategy AddCondition(IExportCondition exportCondition) { if (_locked) { throw new ArgumentException("Strategy is locked, can't be changed"); } _conditions = _conditions.Add(exportCondition); return this; }
/// <summary> /// Add a condition to the export /// </summary> /// <param name="exportCondition"></param> public virtual void AddCondition(IExportCondition exportCondition) { if (_locked) { throw new ArgumentException("Strategy is locked, can't be changed"); } _conditions = _conditions.Add(exportCondition); }
/// <summary> /// Export condition for the property /// </summary> /// <param name="exportCondition">export condition</param> /// <returns>configuration object</returns> public IFluentExportPropertyConfiguration WithCondition(IExportCondition exportCondition) { exportPropertyInfo.ExportCondition = exportCondition; return this; }