private void _read() { _lenSubfields = m_io.ReadU2le(); __raw_subfields = m_io.ReadBytes(LenSubfields); var io___raw_subfields = new KaitaiStream(__raw_subfields); _subfields = new Subfields(io___raw_subfields, this, m_root); }
/// <summary> Adds a new subfield code to this MARC field or updates an existing subfield of the same code </summary> /// <param name="Subfield_Code"> Code for this subfield in the MARC record field </param> /// <param name="Data"> Data stored for this subfield </param> /// <remarks> This is used to replace a non-repeatable subfield with new data </remarks> public void Add_NonRepeatable_Subfield(char Subfield_Code, string Data) { // Look through existing subfields foreach (MARC_Transfer_Subfield subfield in Subfields) { if (subfield.Subfield_Code == Subfield_Code) { subfield.Data = Data; return; } } // Add this as a new subfield Subfields.Add(new MARC_Transfer_Subfield(Subfield_Code, Data)); }
/// <summary> Gets the colleciton of subfields by subfield code </summary> /// <param name="Subfield_Code">Code for this subfield in the MARC record field </param> /// <returns> Collection of subfields by subfield code </returns> public ReadOnlyCollection <MARC_Transfer_Subfield> Subfields_By_Code(char Subfield_Code) { List <MARC_Transfer_Subfield> returnValue = Subfields.Where(Subfield => Subfield.Subfield_Code == Subfield_Code).ToList(); return(new ReadOnlyCollection <MARC_Transfer_Subfield>(returnValue)); }
/// <summary> Clears the list of all subfields in this field </summary> public void Clear_Subfields() { Subfields.Clear(); }
/// <summary> Adds a new subfield code to this MARC field </summary> /// <param name="Subfield_Code"> Code for this subfield in the MARC record field </param> /// <param name="Data"> Data stored for this subfield </param> public void Add_Subfield(char Subfield_Code, string Data) { Subfields.Add(new MARC_Transfer_Subfield(Subfield_Code, Data)); }
/// <summary> Returns flag indicating if this data field has the indicated subfield </summary> /// <param name="Subfield_Code">Code for the subfield in question</param> /// <returns>TRUE if the subfield exists, otherwise FALSE</returns> public bool has_Subfield(char Subfield_Code) { return(Subfields.Any(Subfield => Subfield.Subfield_Code == Subfield_Code)); }