public UserDto Get(Guid id) { var userRepo = new UserRepositoryDocumentDB(); var usr = userRepo.GetUserById(id); return(UserDtoConverter.ConvertToDTO(usr)); }
private GetUserResultsResponse UserResults(User usr) { //Load modules var coachingCourseRepository = new CoachingCourseRepositoryDocumentDB(); var coachingModuleRepository = new CoachingModuleRepositoryDocumentDB(); var moduleGroupRepository = new ModuleGroupRepositoryDocumentDB(); //TODO: Support multiple course admissions var course = coachingCourseRepository.GetCourseById(usr.CourseAdmissions.Single().CourseId); var modules = coachingModuleRepository.GetModulesWithIds(course.Modules.Select(m => m.ModuleReferenceId)).ToList(); var moduleGroups = moduleGroupRepository.GetItemsWithIds(course.ModuleGroups); var userResults = new GetUserResultsResponse() { ModuleResults = modules.Select(m => { var moduleResults = usr.CourseAdmissions.Single().Results.Where(r => r.Module.ModuleReferenceId == m.Id ).ToList(); return(new ModuleResultsDto() { Module = CoachingModuleDTOConverter.ConvertToDTO(m), ModuleResults = moduleResults.Select(mr => UserDtoConverter.ConvertScoreCardDto(mr)).ToList() }); }).ToList(), Groups = moduleGroups.Select(CoachingModuleDTOConverter.ConvertToDTO), User = UserDtoConverter.ConvertUserToBaseDto(usr) }; userResults.ActiveModule = userResults.ModuleResults.FirstOrDefault(mr => mr.ModuleResults.Any(r => !r.IsCompleted)).Module; userResults.ActiveModuleIndex = modules.IndexOf(modules.Single(m => m.Id == userResults.ActiveModule.Id)); return(userResults); }
public GetModuleResultsResponse UserModuleResults(Guid moduleId) { var userRepo = new UserRepositoryDocumentDB(); var usr = userRepo.GetUserById((Guid)HttpContext.Current.Items["UserId"]); var coachingModuleRepository = new CoachingModuleRepositoryDocumentDB(); var module = coachingModuleRepository.GetModuleById(moduleId); var moduleResults = usr.CourseAdmissions.Single().Results.Where(r => r.Module.ModuleReferenceId == module.Id ).ToList(); var moduleResult = new GetModuleResultsResponse() { ModuleResults = moduleResults.Select(mr => UserDtoConverter.ConvertScoreCardDto(mr)).ToList(), IsCompleted = moduleResults.All(mr => mr.IsCompleted) }; var activeModule = moduleResults.FirstOrDefault(mr => !mr.IsCompleted); if (activeModule != null) { moduleResult.IsActive = true; moduleResult.ActiveScoreCard = moduleResult.ModuleResults.First(mr => !mr.IsCompleted); } else { moduleResult.IsActive = false; } return(moduleResult); }
public UserDto CurrentUser() { var userRepo = new UserRepositoryDocumentDB(); //var usr = userRepo.GetAllItems().Last(); var usr = userRepo.GetUserById((Guid)HttpContext.Current.Items["UserId"]); return(UserDtoConverter.ConvertToDTO(usr)); }
public ScoreCardDto GetExerciseResults(Guid userId, Guid exerciseId) { var userRepo = new UserRepositoryDocumentDB(); var usr = userRepo.GetUserById(userId); foreach (var admission in usr.CourseAdmissions) { var excistingScoreCard = admission.Results.SingleOrDefault(r => r.ExerciseId == exerciseId); return(UserDtoConverter.ConvertScoreCardDto(excistingScoreCard)); } throw new Exception("Scorecard not found"); }
public GetUserVideoResultResponse GetUserVideoResult(Guid userId, string uuid) { var userRepo = new UserRepositoryDocumentDB(); var usr = userRepo.GetUserById(userId); foreach (var admission in usr.CourseAdmissions) { var excistingScoreCard = admission.Results.OfType <VideoExerciseScoreCard>().SingleOrDefault(r => r.VideoUuid == uuid); var ret = new GetUserVideoResultResponse(); ret.ScoreCard = UserDtoConverter.ConvertScoreCardDto(excistingScoreCard); ret.UserFirstName = usr.FirstName; ret.UserLastName = usr.LastName; return(ret); } throw new Exception("Scorecard not found"); }