コード例 #1
0
        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));
        }
コード例 #2
0
        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);
        }