/// <summary> /// Converts a string to a subcategory. /// </summary> /// <param name="subcategory"> The string to be converted. </param> /// <returns> The converted subcategory. </returns> public static SubcategoryType SubcategoryFromString(string subcategory) { // Format string subcategory = subcategory.ToUpper( ); subcategory = subcategory.Replace(" ", "_"); // Convert string to enum try { // Convert string SubcategoryType data = (SubcategoryType)Enum.Parse(typeof(SubcategoryType), subcategory); // Check for valid enum if (Enum.IsDefined(typeof(SubcategoryType), data)) { // Return the subcategory return(data); } else { // Return that the string could not be converted. return(SubcategoryType.NONE); } } catch { // Return that the string could not be converted. return(SubcategoryType.NONE); } }
/// <summary> /// Converts a subcategory to a readable string. /// </summary> /// <param name="subcategory"> The subcategory to be converted. </param> /// <returns> The subcategory as a readable string. </returns> public static string ToString(SubcategoryType subcategory) { // Check subcategory switch (subcategory) { case SubcategoryType.NONE: return("None"); case SubcategoryType.NORTHERN_AFRICAN: return("Northern African"); case SubcategoryType.SOUTHERN_AFRICAN: return("Southern African"); case SubcategoryType.WESTERN_AFRICAN: return("Western African"); case SubcategoryType.EASTERN_AFRICAN: return("Eastern African"); case SubcategoryType.CENTRAL_AMERICAN: return("Central American"); case SubcategoryType.NORTHERN_AMERICAN: return("Northern American"); case SubcategoryType.SOUTHERN_AMERICAN: return("Southern American"); case SubcategoryType.CENTRAL_ASIAN: return("Central Asian"); case SubcategoryType.SOUTHERN_ASIAN: return("Southern Asian"); case SubcategoryType.SOUTHEASTERN_ASIAN: return("Southeastern Asian"); case SubcategoryType.WESTERN_ASIAN: return("Western Asian"); case SubcategoryType.EASTERN_ASIAN: return("Eastern Asian"); case SubcategoryType.NORTHERN_EUROPEAN: return("Northern European"); case SubcategoryType.SOUTHERN_EUROPEAN: return("Southern European"); case SubcategoryType.WESTERN_EUROPEAN: return("Western European"); case SubcategoryType.EASTERN_EUROPEAN: return("Eastern European"); case SubcategoryType.OCEANIC: return("Oceanic"); case SubcategoryType.AMERICAN: return("American"); case SubcategoryType.FANTASY: return("Fantasy"); case SubcategoryType.SCIENCE_FICTION: return("Science Fiction"); case SubcategoryType.OTHER: return("Other"); } // Return that no subcategory was found return(""); }