public ActionResult Scope(string project)
        {
            string projectId = "";
            project = Util.nvl(project, "URM");
            _jss = new JiraSoapServiceService();
            _token = _jss.login(_jiraUsername, _jiraPassword);

            // Get Project ID
            List<RemoteProject> projects = HttpRuntime.Cache.GetOrStore<List<RemoteProject>>("projects", 3600, () => _jss.getProjectsNoSchemes(_token).ToList());
            RemoteProject proj = projects.Find(p => p.key == project);
            if (proj != null)
            {
                projectId = proj.id;
                ViewData["projectName"] = proj.key; // proj.description; // not ideal; will do a ViewModel if we have more properties
            }
            else
            {
                return View("Error", new ErrorInfoViewModel() { ErrorMessage = String.Format("Project does not exist")}); 
            }

            JiraRepository rc = new JiraRepository();
            List<ScopingVersion> l = rc.GetScoping(projectId);

            return View(l);
        }
        //
        // GET: /ReopenRate/
        public ActionResult Index(string project)
        {
            _jss = new JiraSoapServiceService();
            _token = _jss.login(_jiraUsername, _jiraPassword );
            string projectId;

            project = Util.nvl(project, "DPS");

            // Get Project ID
            List<RemoteProject> projects = HttpRuntime.Cache.GetOrStore<List<RemoteProject>>("projects", 3600, () => _jss.getProjectsNoSchemes(_token).ToList());
            projectId = projects.Find(p => p.key == project).id;

            // Get Versions, limit to ones we care about
            List<RemoteVersion> versions = HttpRuntime.Cache.GetOrStore<List<RemoteVersion>>("versions-"+project, 3600, () => _jss.getVersions(_token, project).ToList());
            versions = versions.Where(v => !v.archived && (!v.released || v.releaseDate > DateTime.Now.AddDays(-90))).OrderBy(v => v.sequence).ToList();

            // Populate version list
            var rlist = new List<ReopenRateVersion>();
            foreach (var v in versions)
            {
                ReopenRateVersion r = new ReopenRateVersion() { VersionId = v.id, VersionName = v.name };
                rlist.Add(r);
            }
            rlist.Add(new ReopenRateVersion() { VersionId = "", VersionName = "None" });

            // Enrich version list with data from DB (not available in API)
            JiraRepository rc = new JiraRepository();
            rc.GetReopenRates(projectId, ref rlist);

            return View(rlist);
        }
        //
        // GET: /RoadMapGadget/
        public ActionResult Index(string project, string username)
        {
            _jss = new JiraSoapServiceService();
            _token = _jss.login(_jiraUsername, _jiraPassword);

            project = Util.nvl(project, "DPS");

            // Get Project List from cache and get project for specified input
            List<RemoteProject> projects = HttpRuntime.Cache.GetOrStore<List<RemoteProject>>("projects", 3600, () => _jss.getProjectsNoSchemes(_token).ToList());
            
            // Define view model
            RoadMapGadgetViewModel vm = new RoadMapGadgetViewModel();
            vm.project = projects.First(p => p.key == project);
            
            // Get data from DB (can't get from API)
            JiraRepository rc = new JiraRepository();
            vm.versions = rc.GetRoadMapVersions(vm.project.id, username);
            return View(vm);
        }
        public ActionResult Index(string project)
        {
            string projectId = "";
            project = Util.nvl(project, "URM");
            _jss = new JiraSoapServiceService();
            _token = _jss.login(_jiraUsername, _jiraPassword);

            // Get Project ID
            List<RemoteProject> projects = HttpRuntime.Cache.GetOrStore<List<RemoteProject>>("projects", 3600, () => _jss.getProjectsNoSchemes(_token).ToList());
            RemoteProject proj = projects.Find(p => p.key == project);
            if (proj != null)
            {
                projectId = proj.id;
                ViewData["projectName"] = proj.key; // proj.description; // not ideal; will do a ViewModel if we have more properties
            }
            // TODO: else redirect to error
            
            JiraRepository rc = new JiraRepository();
            ManpowerViewModel vm = new ManpowerViewModel();
            vm.AllocatedWork = rc.GetManpower(projectId, true);
            vm.NonAllocatedWork = rc.GetManpower(projectId, false);

            return View(vm);
        }