@@ -203,38 +203,31 @@ public IActionResult HomepageWithAuthentication()
203203 /// <summary>
204204 /// Index.
205205 /// </summary>
206+ /// <param name="dashboardTrayLearningResourceType">The resource type.</param>
206207 /// <param name="myLearningDashboard">The my learning dashboard type.</param>
207208 /// <param name="resourceDashboard">The resource dashboard type.</param>
208209 /// <param name="catalogueDashboard">The catalogue dashboard type.</param>
209210 /// <returns>Home page.</returns>
210- public async Task < IActionResult > Index ( string myLearningDashboard = "my-in-progress" , string resourceDashboard = "popular-resources" , string catalogueDashboard = "popular-catalogues" )
211+ public async Task < IActionResult > Index ( string dashboardTrayLearningResourceType = "all" , string myLearningDashboard = "my-in-progress" , string resourceDashboard = "popular-resources" , string catalogueDashboard = "popular-catalogues" )
211212 {
212213 if ( this . User ? . Identity . IsAuthenticated == true )
213214 {
214215 this . Logger . LogInformation ( "User is authenticated: User is {fullname} and userId is: {lhuserid}" , this . User . Identity . GetCurrentName ( ) , this . User . Identity . GetCurrentUserId ( ) ) ;
215216 if ( this . User . IsInRole ( "Administrator" ) || this . User . IsInRole ( "BlueUser" ) || this . User . IsInRole ( "ReadOnly" ) || this . User . IsInRole ( "BasicUser" ) )
216217 {
217- var learningTask = this . dashboardService . GetMyAccessLearningsAsync ( myLearningDashboard , 1 ) ;
218+ var learningTask = this . dashboardService . GetMyCoursesAndElearning ( dashboardTrayLearningResourceType , myLearningDashboard , 1 ) ;
218219 var resourcesTask = this . dashboardService . GetResourcesAsync ( resourceDashboard , 1 ) ;
219220 var cataloguesTask = this . dashboardService . GetCataloguesAsync ( catalogueDashboard , 1 ) ;
220221 var userGroupsTask = this . userGroupService . UserHasCatalogueContributionPermission ( ) ;
221222
222- var enrolledCoursesTask = Task . FromResult ( new List < MoodleCourseResponseModel > ( ) ) ;
223- ( bool enableMoodle , int currentMoodleUserId ) = await this . GetMoodleFeatureStateAsync ( ) ;
224-
225- if ( enableMoodle && myLearningDashboard == "my-enrolled-courses" )
226- {
227- enrolledCoursesTask = this . dashboardService . GetEnrolledCoursesFromMoodleAsync ( currentMoodleUserId , 1 ) ;
228- }
229-
230223 await Task . WhenAll ( learningTask , resourcesTask , cataloguesTask , userGroupsTask ) ;
231224
232225 var model = new DashboardViewModel ( )
233226 {
234227 MyLearnings = await learningTask ,
235228 Resources = await resourcesTask ,
236229 Catalogues = await cataloguesTask ,
237- EnrolledCourses = await enrolledCoursesTask ,
230+ DashboardTrayLearningResourceType = dashboardTrayLearningResourceType ,
238231 } ;
239232 var userHasContributePermission = await userGroupsTask ;
240233 this . ViewBag . userHasContributePermission = userHasContributePermission ;
@@ -261,15 +254,16 @@ public async Task<IActionResult> Index(string myLearningDashboard = "my-in-progr
261254 /// <summary>
262255 /// Load the specified dashobard page.
263256 /// </summary>
257+ /// <param name="dashboardTrayLearningResourceType">dashboardTrayLearningResourceType.</param>
264258 /// <param name="dashBoardTray">dashBoardTray.</param>
265259 /// <param name="myLearningDashBoard">myLearningDashBoard.</param>
266260 /// <param name="resourceDashBoard">resourceDashBoard.</param>
267261 /// <param name="catalogueDashBoard">catalogueDashBoard.</param>
268262 /// <param name="pageNumber">pageNumber.</param>
269263 /// <returns>Dashboard page.</returns>
270264 [ Authorize ]
271- [ Route ( "/Home/loadpage/{dashBoardTray}/{myLearningDashBoard}/{resourceDashBoard}/{catalogueDashBoard}/{pageNumber:int}" ) ]
272- public async Task < IActionResult > LoadPage ( string dashBoardTray = "my-learning" , string myLearningDashBoard = "in-progress" , string resourceDashBoard = "popular-resources" , string catalogueDashBoard = "recent-catalogues" , int pageNumber = 1 )
265+ [ Route ( "/Home/loadpage/{dashboardTrayLearningResourceType}/{ dashBoardTray}/{myLearningDashBoard}/{resourceDashBoard}/{catalogueDashBoard}/{pageNumber:int}" ) ]
266+ public async Task < IActionResult > LoadPage ( string dashboardTrayLearningResourceType = "all" , string dashBoardTray = "my-learning" , string myLearningDashBoard = "in-progress" , string resourceDashBoard = "popular-resources" , string catalogueDashBoard = "recent-catalogues" , int pageNumber = 1 )
273267 {
274268 if ( this . User . IsInRole ( "Administrator" ) || this . User . IsInRole ( "BlueUser" ) || this . User . IsInRole ( "ReadOnly" ) || this . User . IsInRole ( "BasicUser" ) )
275269 {
@@ -278,19 +272,18 @@ public async Task<IActionResult> LoadPage(string dashBoardTray = "my-learning",
278272 MyLearnings = new Nhs . Models . Dashboard . DashboardMyLearningResponseViewModel { Type = myLearningDashBoard } ,
279273 Resources = new Nhs . Models . Dashboard . DashboardResourceResponseViewModel { Type = resourceDashBoard } ,
280274 Catalogues = new Nhs . Models . Dashboard . DashboardCatalogueResponseViewModel { Type = catalogueDashBoard } ,
275+ DashboardTrayLearningResourceType = dashboardTrayLearningResourceType ,
281276 } ;
282277
283- ( bool enableMoodle , int currentMoodleUserId ) = await this . GetMoodleFeatureStateAsync ( ) ;
284-
285278 bool isAjax = this . HttpContext . Request . Headers [ "X-Requested-With" ] == "XMLHttpRequest" ;
286279
287280 if ( isAjax )
288281 {
289282 switch ( dashBoardTray )
290283 {
291284 case "my-learning" :
292- model . MyLearnings = await this . dashboardService . GetMyAccessLearningsAsync ( myLearningDashBoard , pageNumber ) ;
293- return this . PartialView ( "_MyAccessedLearningTray " , model ) ;
285+ model . MyLearnings = await this . dashboardService . GetMyCoursesAndElearning ( dashboardTrayLearningResourceType , myLearningDashBoard , pageNumber ) ;
286+ return this . PartialView ( "_MyCoursesAndElearning " , model ) ;
294287 case "resources" :
295288 model . Resources = await this . dashboardService . GetResourcesAsync ( resourceDashBoard , pageNumber ) ;
296289 return this . PartialView ( "_ResourceTray" , model ) ;
@@ -301,13 +294,14 @@ public async Task<IActionResult> LoadPage(string dashBoardTray = "my-learning",
301294 }
302295 else
303296 {
304- var learningTask = this . dashboardService . GetMyAccessLearningsAsync ( myLearningDashBoard , dashBoardTray == "my-learning" ? pageNumber : 1 ) ;
297+ var learningTask = this . dashboardService . GetMyCoursesAndElearning ( dashboardTrayLearningResourceType , myLearningDashBoard , dashBoardTray == "my-learning" ? pageNumber : 1 ) ;
305298 var resourcesTask = this . dashboardService . GetResourcesAsync ( resourceDashBoard , dashBoardTray == "resources" ? pageNumber : 1 ) ;
306299 var cataloguesTask = this . dashboardService . GetCataloguesAsync ( catalogueDashBoard , dashBoardTray == "catalogues" ? pageNumber : 1 ) ;
307300 await Task . WhenAll ( learningTask , resourcesTask , cataloguesTask ) ;
308301 model . MyLearnings = await learningTask ;
309302 model . Resources = await resourcesTask ;
310303 model . Catalogues = await cataloguesTask ;
304+ model . DashboardTrayLearningResourceType = dashboardTrayLearningResourceType ;
311305 return this . View ( "Dashboard" , model ) ;
312306 }
313307 }
0 commit comments