public ActionResult UpdateScope(ScopeViewModel viewModel)
        {
            int projectVersionId = viewModel.RtpProjectScope.ProjectVersionId;
            string year = viewModel.RtpProjectScope.RtpYear;
            //Get the model from the database
            ScopeModel model = _rtpProjectRepository.GetScopeModel(projectVersionId, year);
            //Update it
            //model.BeginConstructionYear = viewModel.RtpProjectScope.BeginConstructionYear;
            //model.OpenToPublicYear = viewModel.RtpProjectScope.OpenToPublicYear;
            model.ProjectDescription = viewModel.RtpProjectScope.ProjectDescription;
            model.ShortDescription = viewModel.RtpProjectScope.ShortDescription;
            model.ProjectId = viewModel.RtpProjectScope.ProjectId;
            model.ProjectVersionId = viewModel.RtpProjectScope.ProjectVersionId;
            model.RtpYear = viewModel.RtpProjectScope.RtpYear;

            if (!ModelState.IsValid)
            {
                return View("Scope", viewModel);
            }

            //Send update to repo
            try
            {
                _rtpProjectRepository.UpdateProjectScope(model);
            }
            catch (Exception ex)
            {
                //this.Logger.LogMethodError("ProjectController", "UpdateScope", "ScopeViewModel", ex);
                return Json(new { message = "Changes could not be stored. An error has been logged." });
            }
            return Json(new { message = "Changes successfully saved." });
        }
        public ScopeViewModel GetScopeViewModel(int projectVersionId, string planYear)
        {
            var result = new ScopeViewModel();
            result.RtpProjectScope = this.GetScopeModel(projectVersionId, planYear);
            result.ProjectSummary = GetProjectSummary(projectVersionId, planYear);
            result.Segments = GetProjectSegments(projectVersionId);
            //result.PoolProjects = GetPoolProjects(projectVersionId);

            result.AvailableNetworks = GetPlanScenariosByCycleId(result.ProjectSummary.Cycle.Id);// GetLookupCollection("dbo.Lookup_GetNetworks", "Id", "Label");
            foreach(SegmentModel sm in result.Segments)
            {
                if( !result.AvailableNetworks.ContainsKey(sm.NetworkId) )
                result.AvailableNetworks.Add(new KeyValuePair<int, string>(sm.NetworkId, sm.Network));
            }

            result.AvailableImprovementTypes = AvailableImprovementTypes(24);
            IList<SqlParameter> parms = new List<SqlParameter>();
            parms.Add(new SqlParameter("@TypeId", (int)Enums.GISCategoryType.FacilityType));
            result.AvailableFacilityTypes = GetLookupCollection("[dbo].[Lookup_GISCategoriesByType]", "Id", "Label", parms);

            return result;
        }