/// <summary> /// Removes the self assessment and returns the most recent self assessment. /// </summary> /// <param name="skillSetId"></param> /// <param name="selfAssessment"></param> /// <returns></returns> public SelfAssessment RemoveSelfAssessment(int skillSetId, SelfAssessment selfAssessment) { // Only self assessments associated with entries can be removed. if (!selfAssessment.EntryId.HasValue) { return(null); } RaiseEvent(new EntrySelfAssessmentRemoved(skillSetId, selfAssessment)); // Get the skill self assessments. if (!_selfAssessments.ContainsKey(selfAssessment.SkillId)) { return(null); } // Check if the assessment is the most recent. var skillSelfAssessments = _selfAssessments[selfAssessment.SkillId]; if (skillSelfAssessments.LastOrDefault().Key.Equals(selfAssessment.CreatedAt.ToUnixTimeMilliseconds()) && skillSelfAssessments.Count > 1) { var previousAssessment = skillSelfAssessments[skillSelfAssessments.Keys[skillSelfAssessments.Count - 2]]; RaiseEvent(new SkillSelfAssessmentRemoved(skillSetId, selfAssessment, previousAssessment)); // This is the most recent assessment, return the previous assessment as this will now be the latest. return(previousAssessment); } else { RaiseEvent(new SkillSelfAssessmentRemoved(skillSetId, selfAssessment)); // This isn't the most recent assessment, so return the latest self assessment if there is more than 1, i.e this isn't the last. return(skillSelfAssessments.Count > 1 ? skillSelfAssessments.LastOrDefault().Value : null); } }
public CurrentPageViewModel( SearchSortFilterPaginationResult <CurrentLearningItem> result, bool apiIsAccessible, string?bannerText ) : base(result, false, searchLabel: "Search your current courses") { ApiIsAccessible = apiIsAccessible; BannerText = bannerText; CurrentActivities = result.ItemsToDisplay.Select <BaseLearningItem, CurrentLearningItemViewModel>( activity => { return(activity switch { CurrentCourse currentCourse => new CurrentCourseViewModel( currentCourse, result.GetReturnPageQuery($"{currentCourse.Id}-course-card") ), SelfAssessment selfAssessment => new SelfAssessmentCardViewModel( selfAssessment, result.GetReturnPageQuery($"{selfAssessment.Id}-sa-card") ), _ => new CurrentLearningResourceViewModel( (ActionPlanResource)activity, result.GetReturnPageQuery($"{activity.Id}-lhr-card") ), }); }
public SelfAssessmentDto(SelfAssessment selfAssessment) { LevelId = selfAssessment.SelfAssessmentLevelId; SkillId = selfAssessment.SkillId; Score = selfAssessment.Score; CreatedAt = selfAssessment.CreatedAt; }
public void AddSelfAssessment(int skillSetId, SelfAssessment selfAssessment) { // Check if the skill already has a self assessment. if (!_selfAssessments.ContainsKey(selfAssessment.SkillId)) { RaiseEvent(new SkillSelfAssessmentCreated(skillSetId, selfAssessment)); // If this is a self assessment associated with an entry then raise an event for that. if (selfAssessment.EntryId.HasValue) { RaiseEvent(new EntrySelfAssessmentCreated(skillSetId, selfAssessment)); } } else { var skillSelfAssessments = _selfAssessments[selfAssessment.SkillId]; // Check if the assessment is more recent than the current or the same time (this can happen if attached to an entry). if (skillSelfAssessments.LastOrDefault().Key <= selfAssessment.CreatedAt.ToUnixTimeMilliseconds()) { RaiseEvent(new SkillSelfAssessmentUpdated(skillSetId, selfAssessment)); } // If this is a self assessment associated with an entry then raise an event for that. if (selfAssessment.EntryId.HasValue) { if (skillSelfAssessments.ContainsKey(selfAssessment.CreatedAt.ToUnixTimeMilliseconds())) { RaiseEvent(new EntrySelfAssessmentUpdated(skillSetId, selfAssessment)); } else { RaiseEvent(new EntrySelfAssessmentAdded(skillSetId, selfAssessment)); } } } }
public ActionResult DeleteConfirmed(int id) { SelfAssessment selfAssessment = db.SelfA.Find(id); db.SelfA.Remove(selfAssessment); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "SEID,MID,SID,GID,CooperationLevel,PersonalContributionLevel,SelfA")] SelfAssessment selfAssessment) { if (ModelState.IsValid) { db.Entry(selfAssessment).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(selfAssessment)); }
public ActionResult Create([Bind(Include = "SEID,MID,SID,GID,CooperationLevel,PersonalContributionLevel,SelfA")] SelfAssessment selfAssessment) { if (ModelState.IsValid) { db.SelfA.Add(selfAssessment); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(selfAssessment)); }
public SelfAssessmentCompetencyViewModel( CurrentSelfAssessment assessment, Competency competency, int competencyNumber, int totalNumberOfCompetencies ) { Assessment = assessment; Competency = competency; CompetencyNumber = competencyNumber; TotalNumberOfCompetencies = totalNumberOfCompetencies; }
// GET: SelfAssessments/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } SelfAssessment selfAssessment = db.SelfA.Find(id); if (selfAssessment == null) { return(HttpNotFound()); } return(View(selfAssessment)); }
public RecommendedLearningViewModel( SelfAssessment selfAssessment, IEnumerable <RecommendedResource> recommendedResources ) { SelfAssessment = selfAssessment; var sortedResources = GenericSortingHelper.SortAllItems( recommendedResources.AsQueryable(), nameof(RecommendedResource.RecommendationScore), BaseSearchablePageViewModel.Descending ); // TODO HEEDLS-650 Search/Pagination var resourcesToDisplay = sortedResources.Take(10); RecommendedResources = resourcesToDisplay.Select(r => new SearchableRecommendedResourceViewModel(r, selfAssessment.Id)); }
public CurrentPageViewModel( IEnumerable <CurrentCourse> currentCourses, string?searchString, string sortBy, string sortDirection, IEnumerable <SelfAssessment> selfAssessments, IEnumerable <ActionPlanResource> actionPlanResources, string?bannerText, int page ) : base(searchString, page, false, sortBy, sortDirection, searchLabel: "Search your current courses") { BannerText = bannerText; var allItems = currentCourses.Cast <CurrentLearningItem>().ToList(); allItems.AddRange(selfAssessments); allItems.AddRange(actionPlanResources); var sortedItems = GenericSortingHelper.SortAllItems( allItems.AsQueryable(), sortBy, sortDirection ); var filteredItems = GenericSearchHelper.SearchItems(sortedItems, SearchString).ToList(); MatchingSearchResults = filteredItems.Count; SetTotalPages(); var paginatedItems = GetItemsOnCurrentPage(filteredItems); CurrentActivities = paginatedItems.Select <BaseLearningItem, CurrentLearningItemViewModel>( activity => { return(activity switch { CurrentCourse currentCourse => new CurrentCourseViewModel(currentCourse), SelfAssessment selfAssessment => new SelfAssessmentCardViewModel(selfAssessment), _ => new CurrentLearningResourceViewModel((ActionPlanResource)activity) }); }
public SkillSelfAssessmentRemoved(int skillSetId, SelfAssessment selfAssessment, SelfAssessment previousSelfAssessment = null) : base(skillSetId, selfAssessment) { PreviousSelfAssessment = previousSelfAssessment; }
public SkillSelfAssessmentUpdated(int skillSetId, SelfAssessment selfAssessment) : base(skillSetId, selfAssessment) { }
public ResourceRemovedViewModel(SelfAssessment selfAssessment) { SelfAssessment = selfAssessment; }
public EntrySelfAssessmentRemoved(int skillSetId, SelfAssessment selfAssessment) : base(skillSetId, selfAssessment) { }
public EntrySelfAssessmentCreated(int skillSetId, SelfAssessment selfAssessment) : base(skillSetId, selfAssessment) { }
protected SelfAssessmentEvent(int skillSetId, SelfAssessment selfAssessment) { SkillSetId = skillSetId; SelfAssessment = selfAssessment; }