public override void Join(IshField ishField, Enumerations.ValueAction valueAction) { if (ishField is IshMetadataField) { IshMetadataField ishMetadataField = (IshMetadataField)ishField; switch (valueAction) { case Enumerations.ValueAction.Append: _value = _value + ishMetadataField.Value; break; case Enumerations.ValueAction.Prepend: _value = ishMetadataField.Value + _value; break; case Enumerations.ValueAction.Overwrite: _value = ishMetadataField.Value; break; } } else { //do nothing } }
/// <summary> /// Merge or Join the incoming ishfields (IshMetadataFields) on my own ishfields using the provided action /// </summary> /// <param name="ishFields">Fields to join with my own fields</param> /// <param name="valueAction">String action (overwrite/prepend/append) to use on matching fields</param> public virtual void JoinFields(IshFields ishFields, Enumerations.ValueAction valueAction) { foreach (IshField actionIshField in ishFields.Fields()) { IshField[] overwriteFields = Retrieve(actionIshField.Name, actionIshField.Level); if (overwriteFields.Length > 0) { // field is present, overwrite occurances foreach (IshField ourIshField in overwriteFields) { ourIshField.Join(actionIshField, valueAction); } } else { // field was not yet present, add it AddField(actionIshField); } } }
public override void Join(IshField ishField, Enumerations.ValueAction valueAction) { throw new NotImplementedException("Not implemented on IshMetadataFilterField"); }
public virtual void Join(IshField ishField, Enumerations.ValueAction valueAction) { throw new NotImplementedException("Not implemented on IshField"); }