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;
        }
Example #2
0
        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");
        }
Example #3
0
        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);
            }));
        }