public static string GetAirFormatMetadataByCode(BrailleFileType fileType, BrailleSupport code) { string form; switch (code) { case BrailleSupport.EBAE2_UEB4: case BrailleSupport.EBAE2_UEB2: form = "EBAE_UEB"; break; case BrailleSupport.UEB4: case BrailleSupport.UEB2: form = "UEB"; break; case BrailleSupport.EBAE2: case BrailleSupport.EBAE1: form = "EBAE"; break; default: form = code.ToString(); break; } return(string.Concat(fileType.ToString(), "_", form)); }
public static bool TryParseBrailleFileNamingConvention(string filename, out bool isStim, out int itemId, out BrailleFormCode formCode, out bool isTranscript, out BrailleFileType fileType, out bool usesAirConvention) { var match = s_rxBrailleConvention.Match(filename); if (match.Success) { isStim = !string.Equals(match.Groups[1].Value, "item", StringComparison.OrdinalIgnoreCase); itemId = int.Parse(match.Groups[2].Value); TryParseBrailleFormCode(match.Groups[4].Value, out formCode); // Sets value to None if it fails. isTranscript = string.Equals(match.Groups[5].Value, "_transcript", StringComparison.OrdinalIgnoreCase); if (!Enum.TryParse(match.Groups[6].Value.ToUpper(), out fileType)) { fileType = BrailleFileType.NONE; } usesAirConvention = false; return(true); } match = s_rxBrailleConventionAir.Match(filename); if (match.Success) { isStim = !string.Equals(match.Groups[1].Value, "item", StringComparison.OrdinalIgnoreCase); itemId = int.Parse(match.Groups[2].Value); TryParseBrailleFormCode(match.Groups[4].Value, out formCode); // Sets value to None if it fails. if (string.Equals(match.Groups[5].Value, "_ueb", StringComparison.OrdinalIgnoreCase)) { switch (formCode) { case BrailleFormCode.ECL: formCode = BrailleFormCode.UCL; break; case BrailleFormCode.ECN: formCode = BrailleFormCode.UCN; break; case BrailleFormCode.EXL: formCode = BrailleFormCode.UXL; break; case BrailleFormCode.EXN: formCode = BrailleFormCode.UXN; break; } } isTranscript = string.Equals(match.Groups[6].Value, "_transcript", StringComparison.OrdinalIgnoreCase); if (!Enum.TryParse(match.Groups[7].Value.ToUpper(), out fileType)) { fileType = BrailleFileType.NONE; } usesAirConvention = true; return(true); } match = s_rxBrailleConventionAir2.Match(filename); if (match.Success) { isStim = !string.Equals(match.Groups[1].Value, "item", StringComparison.OrdinalIgnoreCase); itemId = int.Parse(match.Groups[2].Value); TryParseBrailleFormCode(match.Groups[8].Value, out formCode); // Sets value to None if it fails. isTranscript = string.Equals(match.Groups[9].Value, "_transcript", StringComparison.OrdinalIgnoreCase); if (!Enum.TryParse(match.Groups[10].Value.ToUpper(), out fileType)) { fileType = BrailleFileType.NONE; } usesAirConvention = true; return(true); } isStim = false; itemId = 0; formCode = BrailleFormCode.NONE; isTranscript = false; fileType = BrailleFileType.NONE; usesAirConvention = false; return(false); }