BlueSky.SyntaxEditorWindow.ExecuteBSkyLoadRefreshDataframe C# (CSharp) Метод

ExecuteBSkyLoadRefreshDataframe() приватный Метод

private ExecuteBSkyLoadRefreshDataframe ( string stmt ) : bool
stmt string
Результат bool
        private bool ExecuteBSkyLoadRefreshDataframe(string stmt)//13Feb2014

        {
            CommandRequest cmd = new CommandRequest();
            int start = stmt.IndexOf('(');
            int end = stmt.IndexOf(')');

            string parameters = stmt.Substring(start + 1, end - start - 1);

            //parameters can be 1 or 2 (if 2 params, then one is bool)
            // IMPORTANT :: Assumed that max parameters are 2. One is optional bool parameter.
            string[] eachparam = parameters.Split(',');
            string dataframename = string.Empty;
            string boolparam = string.Empty;
            if (eachparam.Length==2)
            {
                //either of the two is dataframe name
                if (eachparam[1].Contains("load.dataframe") || eachparam[1].Contains("TRUE") || eachparam[1].Contains("FALSE"))
                {
                    dataframename = eachparam[0];
                    boolparam = eachparam[1];
                }
                else // if bool is passed as first parameter and dataframe name as second param.
                {
                    dataframename = eachparam[1];
                    boolparam = eachparam[0];
                }

            }
            else if (eachparam.Length == 1)//only one madatory param is passed which is dataframe name
            {
                dataframename = eachparam[0];
                boolparam = "TRUE";
            }
            /////get dataframe name
            if (dataframename.Contains("="))//dframe="Dataset1"
            {
                dataframename = dataframename.Substring(dataframename.IndexOf("=") + 1);
            }
            dataframename = dataframename.Trim();

            //09Jun2015 if dataframename is not passed that means there is no need to load/refresh dataframe
            if (dataframename.Length < 1)
            {
                return true;
            }

            ///get bool parama value
            if (boolparam.Contains("="))//dframe="Dataset1"
            {
                boolparam = boolparam.Substring(boolparam.IndexOf("=") + 1);
            }
            boolparam = boolparam.Trim();            

            if (boolparam.Contains("FALSE"))//do not refresh dataframe
            {
                return true;
            }

            cmd.CommandSyntax = "exists('" + dataframename + "')";//check if that dataset exists in memory.
            object o1 = analytics.ExecuteR(cmd, true, false);
            if (o1.ToString().ToLower().Equals("true")) // if found, check if data.frame type. then load it
            {
                cmd.CommandSyntax = "is.data.frame(" + dataframename + ")";//check if its 'data.frame' type.
                object o2 = analytics.ExecuteR(cmd, true, false);
                if (o2.ToString().ToLower().Equals("true")) // if data.frame type
                {
                    FileOpenCommand foc = new FileOpenCommand();
                    return foc.OpenDataframe(dataframename);
                }
                else
                {
                    return false;
                }
            }
            else
            {
                return false;
            }
        }
SyntaxEditorWindow