Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion LearningHub.Nhs.WebUI/Views/MyLearning/Index.cshtml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
<div class="nhsuk-u-padding-bottom-3">
<span class="nhsuk-u-visually-hidden">No certificate available</span>
</div>
<a class="nhsuk-u-font-weight-bold" asp-action="LearningHistory" asp-route-searchText="@Model.SearchText" asp-route-myLearningFormActionType="@MyLearningFormActionTypeEnum.Default" asp-fragment="search-results">
<a class="nhsuk-u-font-weight-bold" asp-action="Index" asp-route-searchText="@Model.SearchText" asp-route-myLearningFormActionType="@MyLearningFormActionTypeEnum.Default" asp-fragment="search-results">
Clear all filters
</a>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -241,18 +241,11 @@ public async Task<IQueryable<ResourceActivity>> GetByUserIdFromSP(int userId, Nh
/// <returns></returns>
public async Task<List<MyLearningActivitiesViewModel>> GetUserRecentMyLearningActivities(int userId, Nhs.Models.MyLearning.MyLearningRequestModel requestModel)
{
try
{
(string strActivityStatus, bool activityStatusEnumFlag) = this.GetActivityStatusFilter(requestModel);
var param0 = new SqlParameter("@userId", SqlDbType.Int) { Value = userId };
var param1 = new SqlParameter("@activityStatuses", SqlDbType.NVarChar) { Value = activityStatusEnumFlag == false ? DBNull.Value : strActivityStatus };
var result = await DbContext.MyLearningActivitiesViewModel.FromSqlRaw("EXEC activity.GetUserRecentLearningActivities @userId, @activityStatuses", param0,param1).AsNoTracking().ToListAsync();
return result;
}
catch (Exception ex)
{
return null;
}
}

/// <summary>
Expand All @@ -263,20 +256,13 @@ public async Task<List<MyLearningActivitiesViewModel>> GetUserRecentMyLearningAc
/// <returns></returns>
public async Task<List<MyLearningActivitiesViewModel>> GetUserLearningHistory(int userId, Nhs.Models.MyLearning.MyLearningRequestModel requestModel)
{
try
{
(string strActivityStatus, bool activityStatusEnumFlag) = this.GetActivityStatusFilter(requestModel);
(string strResourceTypes, bool resourceTypeFlag) = this.ApplyResourceTypesfilters(requestModel);
var param0 = new SqlParameter("@userId", SqlDbType.Int) { Value = userId };
var param1 = new SqlParameter("@activityStatuses", SqlDbType.NVarChar) { Value = activityStatusEnumFlag == false ? DBNull.Value : strActivityStatus };
var param2 = new SqlParameter("@resourceTypes", SqlDbType.NVarChar) { Value = resourceTypeFlag == false ? DBNull.Value : strResourceTypes };
var result = await DbContext.MyLearningActivitiesViewModel.FromSqlRaw("EXEC activity.GetUsersLearningHistory @userId, @activityStatuses,@resourceTypes", param0, param1, param2).AsNoTracking().ToListAsync();
return result;
}
catch (Exception ex)
{
return null;
}
}

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ public async Task<MyLearningActivitiesDetailedViewModel> GetUserRecentMyLearning
{
var result = await resourceActivityRepository.GetUserRecentMyLearningActivities(userId, requestModel);

var entrolledCourses = await this.moodleApiService.GetRecentEnrolledCoursesAsync(userId, requestModel, 6);
//// var entrolledCourses = await this.moodleApiService.GetRecentEnrolledCoursesAsync(userId, requestModel, 6);

var mappedMyLearningActivities = result.Select(Activity => new MyLearningCombinedActivitiesViewModel
{
Expand All @@ -182,27 +182,28 @@ public async Task<MyLearningActivitiesDetailedViewModel> GetUserRecentMyLearning
CompletedActivities = 0,
}).ToList();

var mappedEnrolledCourses = entrolledCourses.Select(course => new MyLearningCombinedActivitiesViewModel
{
UserId = userId,
ResourceId = (int)course.Id,
ResourceVersionId = (int)course.Id,
IsCurrentResourceVersion = true,
ResourceReferenceId = (int)course.Id,
MajorVersion = 1,
MinorVersion = 0,
ResourceType = ResourceTypeEnum.Moodle,
Title = course.DisplayName,
CertificateEnabled = course.CertificateEnabled,
ActivityStatus = (course.Completed == true || course.ProgressPercentage.TrimEnd('%') == "100") ? ActivityStatusEnum.Completed : ActivityStatusEnum.Incomplete,
ActivityDate = DateTimeOffset.FromUnixTimeMilliseconds((long)course.LastAccess),
ScorePercentage = Convert.ToInt32(course.ProgressPercentage.TrimEnd('%')),
TotalActivities = course.TotalActivities,
CompletedActivities = course.CompletedActivities,
}).ToList();
////var mappedEnrolledCourses = entrolledCourses.Select(course => new MyLearningCombinedActivitiesViewModel
////{
//// UserId = userId,
//// ResourceId = (int)course.Id,
//// ResourceVersionId = (int)course.Id,
//// IsCurrentResourceVersion = true,
//// ResourceReferenceId = (int)course.Id,
//// MajorVersion = 1,
//// MinorVersion = 0,
//// ResourceType = ResourceTypeEnum.Moodle,
//// Title = course.DisplayName,
//// CertificateEnabled = course.CertificateEnabled,
//// ActivityStatus = (course.Completed == true || course.ProgressPercentage.TrimEnd('%') == "100") ? ActivityStatusEnum.Completed : ActivityStatusEnum.Incomplete,
//// ActivityDate = DateTimeOffset.FromUnixTimeMilliseconds((long)course.LastAccess),
//// ScorePercentage = Convert.ToInt32(course.ProgressPercentage.TrimEnd('%')),
//// TotalActivities = course.TotalActivities,
//// CompletedActivities = course.CompletedActivities,
////}).ToList();

// Combine both result sets
var combainedUserActivities = mappedMyLearningActivities.Concat(mappedEnrolledCourses).ToList();
////var combainedUserActivities = mappedMyLearningActivities.Concat(mappedEnrolledCourses).ToList();
var combainedUserActivities = mappedMyLearningActivities.ToList();

var pagedResults = combainedUserActivities.OrderByDescending(activity => activity.ActivityDate).Skip(requestModel.Skip).Take(requestModel.Take).ToList();

Expand Down
Loading