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))); }
/// <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)); }