TeamMentor.CoreLib.REPL.executeSnippet C# (CSharp) Method

executeSnippet() private method

private executeSnippet ( string snippet ) : string
snippet string
return string
        public static string executeSnippet(string snippet)
        {
            UserRole.Admin.demand();
            "[REPL] executing snippet with size: {0}".info(snippet.size());
            object executionResult;
            var compileError = "";
            Action<string> onCompileOk = (msg) => { };
            Action<string> onCompileFail = (msg) => { compileError = msg; };
            var result = snippet.fix_CRLF().compileAndExecuteCodeSnippet(onCompileOk, onCompileFail);
            if (compileError.valid())
                executionResult = compileError;
            else
                executionResult = result.notNull() ? result : "";

            if (executionResult is string)
                return executionResult.str();
            try
            {
                return new JavaScriptSerializer().Serialize(executionResult);
            }
            catch { }

            return executionResult.str();
        }

Usage Example

/*        [WebMethod(EnableSession = true)] [Admin]	           public List<KeyValue<Guid, string>>				Data_GuidanceItems_FileMappings()
 *                                                                                  {
 *                                                                                      return TM_Xml_Database.Current.GuidanceItems_FileMappings.ConvertDictionary();
 *                                                                                  }
 *      [WebMethod(EnableSession = true)] [Admin]	           public List<KeyValue<Guid, TeamMentor_Article>> Data_GuidanceItems_Cached_GuidanceItems()
 *                                                                                  {
 *                                                                                      return TM_Xml_Database.Current.Cached_GuidanceItems.ConvertDictionary();
 *                                                                                  }*/

        [WebMethod(EnableSession = true)][Admin]                  public string                REPL_ExecuteSnippet(string snippet)
        {
            return(REPL.executeSnippet(snippet));
        }