BSky.Statistics.R.RPackageManager.InstallPackageFromCRAN C# (CSharp) Method

InstallPackageFromCRAN() public method

public InstallPackageFromCRAN ( string packagename ) : UAReturn
packagename string
return BSky.Statistics.Common.UAReturn
        public UAReturn InstallPackageFromCRAN(string packagename)
        {
            UAReturn result = new UAReturn() { Success = false };
            string command = string.Empty;
            string retmsg = string.Empty;
            string[] pkgs = packagename.Split(',');
            string packagenames = GetCommaSeparatedWithSingleQuotes(pkgs);
            if (packagenames == null)//bad string
            {
                result.CommandString = packagename;
                retmsg = " Mulitple packages must be comma separated and no quotes should be used.";
            }
            else
            {
                foreach (string pkgnam in pkgs)//uninstall package(s)
                {
                    //UAReturn result = new UAReturn() { Success = false };
                    if (_dispatcher.IsLoaded(pkgnam)) // if package is already loaded. Unload and uninstall it
                    {
                        UnLoadPackage(pkgnam);
                        UninstallPackage(pkgnam);
                    }
                }
                string CranUrl = "http://cran.us.r-project.org";
                //string command = "utils:::menuInstallPkgs()";
                command = string.Format("install.packages(c({0}))", packagenames);
                //string command = string.Format("install.packages('{0}', repos='{1}')", packagename, CranUrl);
                retmsg = _dispatcher.EvaluateToString(command);
            }

            _journal.WriteLine(command);
            result.CommandString = command;
            result.Error = retmsg;
            if (retmsg.Contains("Check Command.") || retmsg.ToLower().Contains("error") || retmsg.ToLower().Contains("warning"))
                result.Success = false;
            else
                result.Success = true;

            //LoadPackage(packagename); // Normally, when we install package, it should also be loaded. Can also be done outside.
            return result;
        }