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; }