Example #1
0
        /// <summary> Constructor for a new instance of the Incoming_Digital_Resource class </summary>
        /// <param name="Resource_Folder"> Folder for this incoming digital resource </param>
        /// <param name="Source_Folder"> Parent source folder </param>
        public Incoming_Digital_Resource(string Resource_Folder, Builder_Source_Folder Source_Folder)
        {
            type           = Incoming_Digital_Resource_Type.UNKNOWN;
            resourceFolder = Resource_Folder;
            sourceFolder   = Source_Folder;

            // Set some defaults
            bibid       = String.Empty;
            vid         = String.Empty;
            packageTime = DateTime.Now;

            fileRoot = "collect/image_files/";
        }
Example #2
0
        /// <summary> Constructor for a new instance of the Incoming_Digital_Resource class </summary>
        /// <param name="ResourceFolder"> Folder for this incoming digital resource </param>
        /// <param name="SourceFolder"> Parent source folder </param>
        public Incoming_Digital_Resource(string ResourceFolder, Actionable_Builder_Source_Folder SourceFolder)
        {
            type           = Incoming_Digital_Resource_Type.UNKNOWN;
            resourceFolder = ResourceFolder;
            Source_Folder  = SourceFolder;

            // Set some defaults
            bibid            = String.Empty;
            vid              = String.Empty;
            packageTime      = DateTime.Now;
            metsTypeOverride = String.Empty;
            NewImageFiles    = new List <string>();
            NewPackage       = false;

            fileRoot = "collect/image_files/";
        }
Example #3
0
        /// <summary> Read the METS file and load the data into this object </summary>
        /// <param name="Source_File"> METS source file to read </param>
        /// <returns> TRUE if successful, otherwise FALSE </returns>
        public bool Load_METS(string Source_File)
        {
            try
            {
                // Load the METS file
                bibPackage = SobekCM_Item.Read_METS(Source_File);

                // If null was returned, this failed
                if (bibPackage == null)
                {
                    return(false);
                }

                // TEMPORARY
                foreach (Identifier_Info thisIdentifier in bibPackage.Bib_Info.Identifiers)
                {
                    if (thisIdentifier.Type == "accn")
                    {
                        thisIdentifier.Type = "accession number";
                    }
                }

                // Save the BibID and VID.  If a VID already existed here, and not in the METS,
                // assign that to the METS.  (For example, when '00001' can be assumed
                bibid = bibPackage.BibID;
                if (bibPackage.VID.Length > 0)
                {
                    vid = bibPackage.VID;
                }
                else if (!String.IsNullOrEmpty(vid))
                {
                    bibPackage.VID = vid;
                }

                switch (bibPackage.METS_Header.RecordStatus_Enum)
                {
                case METS_Record_Status.METADATA_UPDATE:
                    type = Incoming_Digital_Resource_Type.METADATA_UPDATE;
                    break;

                case METS_Record_Status.COMPLETE:
                    type = Incoming_Digital_Resource_Type.COMPLETE_PACKAGE;
                    break;

                case METS_Record_Status.PARTIAL:
                    type = Incoming_Digital_Resource_Type.PARTIAL_PACKAGE;
                    break;

                case METS_Record_Status.DELETE:
                    type = Incoming_Digital_Resource_Type.DELETE;
                    break;

                case METS_Record_Status.BIB_LEVEL:
                    type = Incoming_Digital_Resource_Type.BIB_LEVEL;
                    break;
                }

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }