Ejemplo n.º 1
0
            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);
            }
Ejemplo n.º 2
0
        /// <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));
        }
Ejemplo n.º 3
0
        /// <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));
        }
Ejemplo n.º 4
0
 /// <summary> Clears the list of all subfields in this field </summary>
 public void Clear_Subfields()
 {
     Subfields.Clear();
 }
Ejemplo n.º 5
0
 /// <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));
 }
Ejemplo n.º 6
0
 /// <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));
 }