/// <summary> /// Установка подполя. /// </summary> public IrbisRecord SetSubField ( string tag, int fieldOccurrence, char code, int subFieldOccurrence, string newText ) { RecordField field = Fields .GetField(tag) .GetOccurrence(fieldOccurrence); if (!ReferenceEquals(field, null)) { SubField subField = field.GetSubField ( code, subFieldOccurrence ); if (!ReferenceEquals(subField, null)) { subField.Text = newText; } } return(this); }
public static string GatherSubfields ( this IrbisRecord record, string tag, string separator, params char[] codes ) { RecordField field = record .Fields .GetField(tag) .FirstOrDefault(); if (ReferenceEquals(field, null)) { return(null); } List <string> list = new List <string>(); foreach (char code in codes) { string[] text = field .GetSubField(code) .GetSubFieldText(); list.AddRange(text); } if (list.Count == 0) { return(null); } return(string.Join ( separator, list.ToArray() )); }