public bool SyncPerson(Person person) { person.LoadAttributes(); RiseUser riseUser = null; var riseId = person.GetAttributeValue(Constants.PERSON_ATTRIBUTE_KEY_RISEID); if (riseId.IsNotNullOrWhiteSpace()) { riseUser = ClientManager.Get <RiseUser>(riseId); } if (riseUser == null) { riseUser = QueryForUser(person); } if (riseUser == null) { return(false); } riseUser.SyncGroupMembership(person); return(true); }
internal void SyncCompletions() { var xObject = GetExperienceObject(); var reports = ClientManager.GetSet <RiseCourseReport>(this.CourseId); foreach (var report in reports) { var person = RiseUser.GetPerson(report.UserId); if (person == null) { RiseClient riseClient = new RiseClient(); person = riseClient.GetUser(report.UserId).GetRockPerson(); } if (person != null) { var contextExtensions = new Dictionary <string, string> { { "http://id.tincanapi.com/extension/duration", report.Duration } }; UpdateCourseStatus(xObject, person, report.Status == "Complete", report.QuizScorePercent, contextExtensions); } } }