private void Register_Project( FileInfo project_file )
        {
            string project_name = Path.GetFileNameWithoutExtension( project_file.Name );
            string upper_project_name = project_name.ToUpper();

            if ( Should_Skip_Project( upper_project_name ) )
            {
                return;
            }

            CLogInterface.Write_Line( "Found project: " + project_name );
            CProject existing_project = Get_Project_By_Name( upper_project_name );
            if ( existing_project != null )
            {
                existing_project.Initialize_Existing( project_file );
            }
            else
            {
                EProjectID id = Allocate_Project_ID();
                CProject project = new CProject( id, project_file );
                m_ProjectIDMap.Add( upper_project_name, id );
                m_Projects.Add( id, project );
            }
        }
 // Methods
 // Public interface
 public void Initialize_DB_Projects()
 {
     foreach ( var project_record in CEnumXMLDatabase.Instance.Projects )
     {
         EProjectID id = Allocate_Project_ID();
         CProject project = new CProject( id, project_record );
         m_ProjectIDMap.Add( project.Name, id );
         m_Projects.Add( id, project );
     }
 }