@@ -169,8 +169,13 @@ public async Task<Tuple<int, MyLearningDetailedItemViewModel>> GetResourceCertif
169169 {
170170 activityQuery = activityQuery . Where ( x => x . MajorVersion == majorVersion && x . MinorVersion == minorVersion ) ;
171171 }
172+ else
173+ {
174+ // filter and use the latest version only
175+ activityQuery = activityQuery . Where ( rv => rv . ResourceVersionId == rv . Resource . CurrentResourceVersionId ) ;
176+ }
172177
173- activityQuery = activityQuery . Where ( x => x . Resource . ResourceReference . FirstOrDefault ( ) != null && x . Resource . ResourceReference . FirstOrDefault ( ) . OriginalResourceReferenceId == resourceReferenceId ) ;
178+ activityQuery = activityQuery . Where ( x => x . Resource . ResourceReference . FirstOrDefault ( ) != null && x . Resource . ResourceReference . Any ( rr => rr . OriginalResourceReferenceId == resourceReferenceId ) ) ;
174179 int totalNumberOfAccess = activityQuery . Count ( ) ;
175180 var activityEntities = await activityQuery . OrderByDescending ( x => x . Score ) . ThenByDescending ( x => x . ActivityStart ) . ToListAsync ( ) ;
176181 activityEntities . RemoveAll ( x => x . Resource . ResourceTypeEnum == ResourceTypeEnum . Scorm && ( x . ActivityStatusId == ( int ) ActivityStatusEnum . Downloaded || x . ActivityStatusId == ( int ) ActivityStatusEnum . Launched || x . ActivityStatusId == ( int ) ActivityStatusEnum . InProgress ) ) ;
@@ -206,7 +211,10 @@ public async Task<Tuple<int, MyLearningDetailedItemViewModel>> GetResourceCertif
206211 myLearningDetailedItemViewModel . ActivityDurationSeconds = 0 ;
207212 foreach ( var item in ma )
208213 {
209- myLearningDetailedItemViewModel . ActivityDurationSeconds = myLearningDetailedItemViewModel . ActivityDurationSeconds + ( int ) item . SecondsPlayed ;
214+ if ( item . SecondsPlayed . HasValue )
215+ {
216+ myLearningDetailedItemViewModel . ActivityDurationSeconds = myLearningDetailedItemViewModel . ActivityDurationSeconds + ( int ) item . SecondsPlayed ;
217+ }
210218 }
211219 }
212220 }
@@ -374,12 +382,13 @@ private IQueryable<ResourceActivity> ApplyFilters(IQueryable<ResourceActivity> q
374382 }
375383
376384 // Resource Type filter.
377- if ( requestModel . Article || requestModel . Audio || requestModel . Elearning || requestModel . File || requestModel . Image || requestModel . Video || requestModel . Weblink || requestModel . Assessment || requestModel . Case )
385+ if ( requestModel . Article || requestModel . Audio || requestModel . Elearning || requestModel . Html || requestModel . File || requestModel . Image || requestModel . Video || requestModel . Weblink || requestModel . Assessment || requestModel . Case )
378386 {
379387 query = query . Where ( x =>
380388 ( requestModel . Article && x . Resource . ResourceTypeEnum == ResourceTypeEnum . Article ) ||
381389 ( requestModel . Audio && x . Resource . ResourceTypeEnum == ResourceTypeEnum . Audio ) ||
382390 ( requestModel . Elearning && x . Resource . ResourceTypeEnum == ResourceTypeEnum . Scorm ) ||
391+ ( requestModel . Html && x . Resource . ResourceTypeEnum == ResourceTypeEnum . Html ) ||
383392 ( requestModel . File && x . Resource . ResourceTypeEnum == ResourceTypeEnum . GenericFile ) ||
384393 ( requestModel . Image && x . Resource . ResourceTypeEnum == ResourceTypeEnum . Image ) ||
385394 ( requestModel . Video && x . Resource . ResourceTypeEnum == ResourceTypeEnum . Video ) ||
0 commit comments