public async Task <IFileStreamWithInfo> GetSubmissionFileAsync(Controller controller, int assignmentId, string studentId)
        {
            SubmissionDTO submission = await service.GetByCompositeKeysAsync(assignmentId, studentId);

            if (submission == null || submission.SubmitFile == null)
            {
                return(null);
            }
            string origFileName            = submission.SubmitFile.FileName;
            string fileGuid                = submission.SubmitFile.FileGuid;
            string mimeType                = MimeMapping.GetMimeMapping(origFileName);
            IFileStreamWithInfo fileStream = null;

            try
            {
                string filePath = Path.Combine(controller.Server.MapPath("~/Files/Assignments"), fileGuid);
                fileStream = new FileStreamWithInfo
                {
                    FileStream = File.ReadAllBytes(filePath),
                    FileName   = origFileName,
                    FileType   = mimeType
                };
            }
            catch
            {
                return(null);
            }
            return(fileStream);
        }
Exemplo n.º 2
0
        public async Task <IFileStreamWithInfo> GetAssignmentFileAsync(int assignmentId)
        {
            AssignmentDTO assignment = await assignmentService.GetByIdAsync(assignmentId);

            if (assignment == null || assignment.AssignmentFile == null)
            {
                return(null);
            }
            string origFileName            = assignment.AssignmentFile.FileName;
            string fileGuid                = assignment.AssignmentFile.FileGuid;
            string mimeType                = MimeMapping.GetMimeMapping(origFileName);
            IFileStreamWithInfo fileStream = null;

            try
            {
                string filePath = Path.Combine(HttpContext.Current.Server.MapPath("~/Files/Assignments"), fileGuid);
                fileStream = new FileStreamWithInfo
                {
                    FileStream = File.ReadAllBytes(filePath),
                    FileName   = origFileName,
                    FileType   = mimeType
                };
            }
            catch (Exception)
            {
                return(null);
            }
            return(fileStream);
        }
Exemplo n.º 3
0
        public async Task <FileResult> DownloadAssignmentFile(int?id)
        {
            if (id == null)
            {
                throw new ArgumentNullException();
            }
            IFileStreamWithInfo fileStream = await _service.GetAssignmentFileAsync((int)id);

            return(File(fileStream.FileStream, fileStream.FileType, fileStream.FileName));
        }
Exemplo n.º 4
0
        public async Task <FileResult> DownloadSubmissionFile(int assignmentId, string studentId)
        {
            if (studentId == null)
            {
                throw new ArgumentNullException();
            }

            IFileStreamWithInfo fileStream = await _service.GetSubmissionFileAsync(this, assignmentId, studentId);

            return(File(fileStream.FileStream, fileStream.FileType, fileStream.FileName));
        }