BSky.Statistics.R.RService.InterpretReturn C# (CSharp) Method

InterpretReturn() private method

private InterpretReturn ( object objRtr, string Command ) : string
objRtr object
Command string
return string
        private string InterpretReturn(object objRtr, string Command)
        {
            int num;
            object instance = null;
            string str2;
            try
            {
                this._RServer.Evaluate("tmp<-names(" + Command + ")");
                if (!(bool)this._RServer.Evaluate("is.null(tmp)").AsLogical()[0])
                {
                    instance = (this._RServer.Evaluate("tmp").AsList());
                }
            }
            catch (Exception exception1)
            {
                logService.WriteToLogLevel("Could not execute : < " + Command + " >", LogLevelEnum.Error);
                LastException = exception1;
            }

            switch (objRtr.GetType().ToString())
            {
                case "System.String":
                    return objRtr.ToString();

                case "System.Double":
                    return Conversions.ToDouble(objRtr).ToString();

                case "System.Int32":
                    return Conversions.ToInteger(objRtr).ToString();

                case "System.Int32[]":
                    {
                        str2 = "<table border=1 cellspacing=1>";
                        if ((instance != null) && (instance.GetType().ToString() == "System.String[]"))
                        {
                            str2 = str2 + "<tr>";
                            int num7 = ((Array)instance).Length - 1;
                            for (num = 0; num <= num7; num++)
                            {
                                str2 = str2 + "<th>" + NewLateBinding.LateIndexGet(instance, new object[] { num }, null).ToString() + "</th>";
                            }
                            str2 = str2 + "</tr>";
                        }
                        str2 = str2 + "<tr>";
                        int num8 = ((int[])objRtr).Length - 1;
                        for (num = 0; num <= num8; num++)
                        {
                            str2 = str2 + "<td align='right'>" + NewLateBinding.LateIndexGet(objRtr, new object[] { num }, null).ToString() + "</td>";
                        }
                        return (str2 + "</tr></table>");
                    }
                case "System.Int32[,]":
                    {
                        Array array = (Array)objRtr;
                        str2 = "<table border=1 cellspacing=1>";
                        int upperBound = array.GetUpperBound(0);
                        for (num = 0; num <= upperBound; num++)
                        {
                            str2 = str2 + "<tr>";
                            int num10 = array.GetUpperBound(1);
                            for (int i = 0; i <= num10; i++)
                            {
                                str2 = Conversions.ToString(Operators.ConcatenateObject(Operators.ConcatenateObject(str2 + "<td>", NewLateBinding.LateIndexGet(objRtr, new object[] { num, i }, null)), "</td>"));
                            }
                            str2 = str2 + "</tr>";
                        }
                        return (str2 + "</table>");
                    }
                case "System.Double[]":
                    {
                        str2 = "<table border=1 cellspacing=1>";
                        if ((instance != null) && (instance.GetType().ToString() == "System.String[]"))
                        {
                            str2 = str2 + "<tr>";
                            int num11 = ((Array)instance).Length - 1;
                            for (num = 0; num <= num11; num++)
                            {
                                str2 = str2 + "<th>" + NewLateBinding.LateIndexGet(instance, new object[] { num }, null).ToString() + "</th>";
                            }
                            str2 = str2 + "</tr>";
                        }
                        str2 = str2 + "<tr>";
                        int num12 = ((double[])objRtr).Length - 1;
                        for (num = 0; num <= num12; num++)
                        {
                            str2 = str2 + "<td align='right'>" + NewLateBinding.LateIndexGet(objRtr, new object[] { num }, null).ToString() + "</td>";
                        }
                        return (str2 + "</tr></table>");
                    }
                case "System.Double[,]":
                    {
                        Array array2 = (Array)objRtr;
                        str2 = "<table border=1 cellspacing=1>";
                        int num13 = array2.GetUpperBound(0);
                        for (num = 0; num <= num13; num++)
                        {
                            str2 = str2 + "<tr>";
                            int num14 = array2.GetUpperBound(1);
                            for (int j = 0; j <= num14; j++)
                            {
                                str2 = Conversions.ToString(Operators.ConcatenateObject(Operators.ConcatenateObject(str2 + "<td align='right'>", NewLateBinding.LateIndexGet(objRtr, new object[] { num, j }, null)), "</td>"));
                            }
                            str2 = str2 + "</tr>";
                        }
                        return (str2 + "</table>");
                    }
                case "System.String[]":
                    {
                        str2 = "<table border=1 cellspacing=1>";
                        if ((instance != null) && (instance.GetType().ToString() == "System.String[]"))
                        {
                            str2 = str2 + "<tr>";
                            int num15 = ((Array)instance).Length - 1;
                            for (num = 0; num <= num15; num++)
                            {
                                str2 = str2 + "<th>" + NewLateBinding.LateIndexGet(instance, new object[] { num }, null).ToString() + "</th>";
                            }
                            str2 = str2 + "</tr>";
                        }
                        str2 = str2 + "<tr>";
                        int num16 = ((string[])objRtr).Length - 1;
                        for (num = 0; num <= num16; num++)
                        {
                            str2 = str2 + "<td>" + NewLateBinding.LateIndexGet(objRtr, new object[] { num }, null).ToString() + "</td>";
                        }
                        return (str2 + "</tr></table>");
                    }
                case "System.String[,]":
                    {
                        Array array3 = (Array)objRtr;
                        str2 = "<table border=1 cellspacing=1>";
                        int num17 = array3.GetUpperBound(0);
                        for (num = 0; num <= num17; num++)
                        {
                            str2 = str2 + "<tr>";
                            int num18 = array3.GetUpperBound(1);
                            for (int k = 0; k <= num18; k++)
                            {
                                str2 = Conversions.ToString(Operators.ConcatenateObject(Operators.ConcatenateObject(str2 + "<td>", NewLateBinding.LateIndexGet(objRtr, new object[] { num, k }, null)), "</td>"));
                            }
                            str2 = str2 + "</tr>";
                        }
                        return (str2 + "</table>");
                    }
                case "System.Object[]":
                    {
                        object objectValue = (this._RServer.Evaluate("names(" + Command + ")").AsCharacter());
                        str2 = "<table border=1 cellspacing=1>";
                        if (objectValue.GetType().ToString() == "System.String[]")
                        {
                            str2 = str2 + "<tr>";
                            int num19 = ((Array)objectValue).Length - 1;
                            for (num = 0; num <= num19; num++)
                            {
                                str2 = str2 + "<th>" + NewLateBinding.LateIndexGet(objectValue, new object[] { num }, null).ToString() + "</th>";
                            }
                            str2 = str2 + "</tr>";
                        }
                        str2 = str2 + "<tr>";
                        int num20 = ((object[])objRtr).Length - 1;
                        for (num = 0; num <= num20; num++)
                        {
                            str2 = str2 + "<td>" + NewLateBinding.LateIndexGet(objRtr, new object[] { num }, null).ToString() + "</td>";
                        }
                        return (str2 + "</tr></table>");
                    }
            }
            return objRtr.ToString();
        }