private void RunNow_Click(object sender, EventArgs e) { if (!CheckFields()) { return; } _oneRosterConnection = new OneRosterConnection(oneRosterKey.Text, oneRosterSecret.Text); compareProgressBar.Minimum = 0; compareProgressBar.Maximum = 100; compareProgressBar.Step = 0; csvStatus.Text = @"Waiting..."; apiStatus.Text = @"Waiting..."; compareStatus.Text = @"Waiting..."; _runningWorkers.Add(csvReaderWorker); _runningWorkers.Add(oneRosterWorker); csvReaderWorker.RunWorkerAsync(); oneRosterWorker.RunWorkerAsync(); _resultDataTable.PrimaryKey = new DataColumn[0]; _resultDataTable.Columns.Clear(); _resultDataTable.Clear(); viewResults.Enabled = false; runNow.Enabled = false; }
private void credTestWorker_DoWork(object sender, DoWorkEventArgs e) { _oneRoster = new OneRosterConnection(_oneRosterKey, _oneRosterSecret); var getTask = _oneRoster.makeRequest($"{_oneRosterUrl}/ims/oneroster/v1p1/users?fields=sourcedId&offset=0&limit=1&sort=sourcedId"); Task.WaitAll(getTask); HttpResponseMessage response = getTask.Result; MessageBox.Show(response.StatusCode != HttpStatusCode.OK ? $@"Bad Request: {response.StatusCode}" : @"Authorization Success"); }
private void userSearchWorker_DoWork(object sender, DoWorkEventArgs e) { _oneRoster = new OneRosterConnection(_oneRosterKey, _oneRosterSecret); var filter = _oneRoster.urlEncode($"username='******'"); var userUrl = $"{_oneRosterUrl}/ims/oneroster/v1p1/users?filter={filter}"; var getTask = _oneRoster.makeRequest(userUrl); Task.WaitAll(getTask); HttpResponseMessage response = getTask.Result; if (response.StatusCode != HttpStatusCode.OK) { MessageBox.Show($@"Bad Request: {response.Content}"); } var readResult = response.Content.ReadAsStringAsync(); Task.WaitAll(readResult); var oneRosterUserList = JsonConvert.DeserializeObject <OneRosterUserList>(readResult.Result); if (oneRosterUserList.oneRosterUserList.Count == 0) { MessageBox.Show($@"No user with username {_studentUsername} found"); } _oneRosterUser = oneRosterUserList.oneRosterUserList[0]; var oneRosterDict = _oneRosterUser.toDictionary(); Invoke(new Action(() => { PopulateUserDisplay(oneRosterDict); })); // get class list for student var classUrl = $"{_oneRosterUrl}/ims/oneroster/v1p1/users/{_oneRoster.urlEncode(_oneRosterUser.SourcedId)}/classes"; getTask = _oneRoster.makeRequest(classUrl); Task.WaitAll(getTask); response = getTask.Result; if (response.StatusCode != HttpStatusCode.OK) { MessageBox.Show($@"Bad Request Classes: {response.StatusCode}"); } readResult = response.Content.ReadAsStringAsync(); Task.WaitAll(readResult); var classList = JsonConvert.DeserializeObject <ClassList>(readResult.Result); var classDisplayList = new List <List <object> >(); foreach (Class _class in classList.classList) { var teacherUrl = $"{_oneRosterUrl}/ims/oneroster/v1p1/classes/{_oneRoster.urlEncode(_class.SourcedId)}/teachers"; getTask = _oneRoster.makeRequest(teacherUrl); Task.WaitAll(getTask); response = getTask.Result; if (response.StatusCode != HttpStatusCode.OK) { MessageBox.Show($@"Bad Request Teachers: {response.StatusCode}"); } readResult = response.Content.ReadAsStringAsync(); Task.WaitAll(readResult); _class.TeacherList = JsonConvert.DeserializeObject <OneRosterUserList>(readResult.Result); var classDisplayObj = new List <object> { _class.SourcedId, _class.Title, _class.CourseObject.SourcedId, _class.SchoolObject.SourcedId, string.Join(",", _class.TeacherList.oneRosterUserList.Select(teacher => $"{teacher.GivenName} {teacher.FamilyName}").ToArray()) }; classDisplayList.Add(classDisplayObj); } Invoke(new Action(() => { PopulateClassDisplay(classDisplayList); })); }