public METS_Writing_Profile Get_Writing_Profile(string ProfileName)
{
// Check the dictionary
if (metsWritingProfilesDictionary == null)
metsWritingProfilesDictionary = new Dictionary<string, METS_Writing_Profile>( StringComparer.OrdinalIgnoreCase);
// Are they the same count. i.e., is the dictionary good?
if (metsWritingProfilesDictionary.Count != MetsWritingProfiles.Count)
{
metsWritingProfilesDictionary.Clear();
foreach (METS_Writing_Profile profile in MetsWritingProfiles)
{
if ((defaultWritingProfile == null) && (profile.Default_Profile))
defaultWritingProfile = profile;
metsWritingProfilesDictionary[profile.Profile_Name] = profile;
}
}
// Now, return the profile, if it exists
if (metsWritingProfilesDictionary.ContainsKey(ProfileName))
return metsWritingProfilesDictionary[ProfileName];
return null;
}