protected CSScriptManager CreateScriptManager(string scriptCode)
        {
            var scriptManager = new CSScriptManager();
            var compileResult = scriptManager.Compile(GetAvailableCompileCode(scriptCode));

            if (!String.IsNullOrEmpty(compileResult))
            {
                throw new ArgumentException(compileResult);
            }

            return(scriptManager);
        }
        protected ColRegExpExtractProcessingResult ScriptExtractRegExpValues(double documentID, string text, CSScriptManager scriptManager, int columnID)
        {
            ColRegExpExtractProcessingResult result = null;

            try
            {
                List <string> regExpList = new List <string>();
                foreach (var regExp in _listRegExps.Where(x => x.ExtractOptions != null && x.ExtractOptions.Extract))
                {
                    regExpList.Add(regExp.Expression);
                }

                var returnValue = scriptManager.Run(text, regExpList);

                if (!String.IsNullOrEmpty(returnValue))
                {
                    result = new ColRegExpExtractProcessingResult
                    {
                        ColumnID   = columnID,
                        DocumentID = documentID,
                        Value      = returnValue
                    };
                }
            }
            catch (Exception ex)
            {
                Logger.HandleException(ex);
            }

            return(result);
        }