public async Task <IActionResult> AddResourceToActionPlan( int selfAssessmentId, int resourceReferenceId, ReturnPageQuery returnPageQuery ) { var delegateId = User.GetCandidateIdKnownNotNull(); if (!actionPlanService.ResourceCanBeAddedToActionPlan(resourceReferenceId, delegateId)) { return(NotFound()); } try { await actionPlanService.AddResourceToActionPlan(resourceReferenceId, delegateId, selfAssessmentId); } catch (ResourceNotFoundException e) { if (!e.ApiIsAccessible) { return(NotFound()); } var assessment = selfAssessmentService.GetSelfAssessmentForCandidateById(delegateId, selfAssessmentId); var model = new ResourceRemovedViewModel(assessment !); return(View("ResourceRemovedErrorPage", model)); } var routeData = returnPageQuery.ToRouteDataDictionary(); routeData.Add("selfAssessmentId", selfAssessmentId.ToString()); return(RedirectToAction("RecommendedLearning", "RecommendedLearning", routeData, returnPageQuery.ItemIdToReturnTo)); }
public IViewComponentResult Invoke( string aspController, string aspAction, ReturnPageQuery returnPageQuery, Dictionary <string, string>?routeData, string linkText ) { var aspAllRouteData = routeData != null ? routeData.Concat(returnPageQuery.ToRouteDataDictionary()) .ToDictionary(x => x.Key, x => x.Value) : returnPageQuery.ToRouteDataDictionary(); return(View(new LinkViewModelWithFragment( aspController, aspAction, linkText, aspAllRouteData, returnPageQuery.ItemIdToReturnTo ))); }