コード例 #1
0
ファイル: Template.cs プロジェクト: ratsil/bethe.ingenie
        private string OnMacroExecute(string sName)
        {
            helpers.replica.mam.Macro.Flags eFlags = helpers.replica.mam.Macro.ParseFlags(ref sName);
            string     sRetVal = "";
            DBInteract cDBI    = new DBInteract();
            Macro      cMacro  = Macro.Get(sName);

            switch (cMacro.cType.sName)
            {
            case "sql":
                sRetVal = cMacro.Execute().FromDB();
                break;

            default:
                throw new Exception("обнаружен неизвестный тип макро-строки [" + cMacro.cType.sName + "] в темплейте [" + sFile + "]");     //TODO LANG
            }
            if (null != sRetVal)
            {
                if (eFlags.HasFlag(helpers.replica.mam.Macro.Flags.Escaped))
                {
                    sRetVal = sRetVal.Replace("\\", "\\\\").Replace("\"", "\\\"");
                }
                if (eFlags.HasFlag(helpers.replica.mam.Macro.Flags.Caps))
                {
                    sRetVal = sRetVal.ToUpper();
                }
            }
            return(sRetVal);
        }
コード例 #2
0
ファイル: Template.cs プロジェクト: ratsil/bethe.ingenie
        string OnRuntimeGetUserCues(string sKey)
        {
            string sRetVal = null;

            helpers.replica.mam.Macro.Flags eFlags = helpers.replica.mam.Macro.ParseFlags(ref sKey);
            if (null != ahUserCues)
            {
                if (ahUserCues.Keys.Contains(sKey))
                {
                    sRetVal = ahUserCues[sKey];
                }
                else if (sKey.Contains("ARTIST") && ahUserCues.Keys.Contains("ARTIST"))
                {
                    sRetVal = ahUserCues["ARTIST"];
                }
                else if (sKey.Contains("SONG") && ahUserCues.Keys.Contains("SONG"))
                {
                    sRetVal = ahUserCues["SONG"];
                }
                else if (sKey.Contains("FOLDER") && ahUserCues.Keys.Contains("FOLDER"))
                {
                    sRetVal = ahUserCues["FOLDER"];
                }
                else if (sKey.Contains("LOOPS") && ahUserCues.Keys.Contains("LOOPS"))
                {
                    sRetVal = ahUserCues["LOOPS"];
                }

                if (null != sRetVal)
                {
                    if (eFlags.HasFlag(helpers.replica.mam.Macro.Flags.Escaped))
                    {
                        sRetVal = sRetVal.Replace("\\", "\\\\").Replace("\"", "\\\"");
                    }
                    if (eFlags.HasFlag(helpers.replica.mam.Macro.Flags.Caps))
                    {
                        sRetVal = sRetVal.ToUpper();
                    }
                    return(sRetVal);
                }
            }
            throw new Exception("обнаружен запрос неизвестного runtime-свойства [" + sKey + "] в темплейте [" + sFile + "]");             //TODO LANG
        }