Пример #1
0
        private Task <HttpResponseMessage> RawSubmitAssignment([NotNull] string type,
                                                               [NotNull] string baseId,
                                                               [NotNull] string assignmentId,
                                                               [CanBeNull] string comment,
                                                               [NotNull] INewSubmissionContent submissionContent)
        {
            var url = $"{type}/{baseId}/assignments/{assignmentId}/submissions";

            var args = submissionContent.GetTuples()
                       .Append(("submission[submission_type]", submissionContent.Type.GetApiRepresentation()))
                       .Append(("comment[text_comment]", comment));

            return(_client.PostAsync(url, BuildHttpArguments(args)));
        }
Пример #2
0
        /// <summary>
        /// Make a submission under the current user for this assignment.
        /// </summary>
        /// <param name="courseId">The course id.</param>
        /// <param name="assignmentId">The assignment id.</param>
        /// <param name="submissionContent">The content to submit.</param>
        /// <param name="comment">An optional comment to include with the submission.</param>
        /// <returns>The completed submission.</returns>
        /// <seealso cref="OnlineTextEntrySubmission"/>
        /// <seealso cref="OnlineUrlSubmission"/>
        /// <seealso cref="OnlineUploadSubmission"/>
        public async Task <Submission> SubmitCourseAssignment(ulong courseId,
                                                              ulong assignmentId,
                                                              [NotNull] INewSubmissionContent submissionContent,
                                                              string comment = null)
        {
            var response = await RawSubmitAssignment("courses",
                                                     courseId.ToString(),
                                                     assignmentId.ToString(),
                                                     comment,
                                                     submissionContent);

            response.AssertSuccess();

            var model = JsonConvert.DeserializeObject <SubmissionModel>(await response.Content.ReadAsStringAsync());

            return(new Submission(this, model));
        }