/// <summary> /// Allows the student to turn in the assignment. /// </summary> /// <param name="submitAssignment"></param> /// <returns></returns> public async Task <string> SubmitAssignmentAsync(SubmitAssignmentDTO submitAssignment) { var currentStudent = await _studentRepository.GetFirstOrDefaultAsync(i => i.AppUser.UserName == _loggedUser).ConfigureAwait(false); string basePath = GlobalConstants.DocumentLibraryPath; FormFileOperations.FilesFolderNameCreator assignmentFolderNameCreator = (Type type) => type.Name + "Assignment"; var maxFileLength = 140000000; var allowedFileExtensions = GlobalConstants.AllowedFileExtensions.Find(i => i.FileType == FileType.Compressed.ToString()).AllowedExtensions; var validationResult = submitAssignment.Assignment.ValidateFile(maxFileLength, allowedFileExtensions, FileType.Compressed); var path = await submitAssignment.Assignment.SaveFileToPathAsync(submitAssignment, basePath, assignmentFolderNameCreator, "Id").ConfigureAwait(false); await submitAssignment.Assignment.OpenReadStream().DisposeAsync().ConfigureAwait(false); await _milvaMailSender.MilvaSendMailAsync(currentStudent.Mentor.AppUser.Email, Helpers.Enums.MailSubject.Information, currentStudent.Name + currentStudent.Surname + " isimli öğrencinin ödevini gönderdi."); return(path); }
public async Task<IActionResult> SubmitAssignment([FromBody] SubmitAssignmentDTO submitAssignment) { var path = await _assigmentService.SubmitAssignmentAsync(submitAssignment).ConfigureAwait(false); return Ok(path); }