Example #1
0
        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
            }
        }
Example #2
0
 /// <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);
         }
     }
 }
Example #3
0
 public override void Join(IshField ishField, Enumerations.ValueAction valueAction)
 {
     throw new NotImplementedException("Not implemented on IshMetadataFilterField");
 }
Example #4
0
 public virtual void Join(IshField ishField, Enumerations.ValueAction valueAction)
 {
     throw new NotImplementedException("Not implemented on IshField");
 }