Пример #1
0
        public async Task <RequestDetailsModel> GetRequestDetails(Guid requestId)
        {
            var requestDetailsModel = new RequestDetailsModel();

            try
            {
                requestDetailsModel = await _requestRepository.GetRequestDetails(requestId);

                if (requestDetailsModel.AssignmentSolutionFileName != null)
                {
                    requestDetailsModel.AssignmentSolutionUrl = await _blobHelper.GetBlobUriAsync("assignments", requestDetailsModel.AssignmentSolutionFileName.Trim());
                }
                if (requestDetailsModel.ScoreCardFileName != null)
                {
                    requestDetailsModel.ScoreCardUrl = await _blobHelper.GetBlobUriAsync("assignments", requestDetailsModel.ScoreCardFileName.Trim());
                }
                if (requestDetailsModel.ErrorFileName != null)
                {
                    requestDetailsModel.ErrorFileUrl = await _blobHelper.GetBlobUriAsync("assignments", requestDetailsModel.ErrorFileName.Trim());
                }

                requestDetailsModel.AttemptsLog = await _requestRepository.GetAttemptsLog(requestId);

                requestDetailsModel.IsSuccess = true;
            }
            catch (Exception ex)
            {
                requestDetailsModel.Message = "Error Getting Request Details";
            }
            return(requestDetailsModel);
        }
Пример #2
0
        public async Task <CourseModel> GetCourseEvaluatorDetails(Guid id)
        {
            var courseModel = new CourseModel();

            try
            {
                courseModel = await _courseRepository.GetCourseDetails(id);

                courseModel.Evaluators = (await _courseRepository.GetCourseEvaluatorsList(courseModel.Id))?.ToList();
                var problemStatemnentDetails = await _courseRepository.GetProblemStatementDetails(id);

                if (problemStatemnentDetails == null)
                {
                    courseModel.CourseProblemStatementUrl = null;
                }
                else
                {
                    var blobFileUrl = await _blobHelper.GetBlobUriAsync("assignments", problemStatemnentDetails.FileName.Trim());

                    courseModel.CourseProblemStatementUrl = blobFileUrl;
                }
                courseModel.IsSuccess = true;
            }
            catch (Exception ex)
            {
                courseModel.Message = "Error Getting Evaluator Details";
            }
            return(courseModel);
        }
Пример #3
0
        private async Task <Response> SendLearnerAssignmentUploadEmail(EmailDetails emailDetails)
        {
            var response    = new Response();
            var emailEntity = new EmailEntity();

            if (emailDetails.RequestIds == null || !emailDetails.RequestIds.Any())
            {
                return(response);
            }
            var requestDetails = (await _requestRepository.GetRequestDetailsForEmailAsync(emailDetails.RequestIds))?.FirstOrDefault();

            emailEntity.Subject = string.Format("Yorbit: {0} Assignment submitted", requestDetails.CourseName);

            emailEntity.Body         = ReadEmailTemplate("LearnerAssignmentUpload.html");
            emailEntity.Body         = emailEntity.Body.Replace("{LearnerName}", requestDetails.LearnerName);
            emailEntity.Body         = emailEntity.Body.Replace("{CourseName}", requestDetails.CourseName);
            emailEntity.ToRecipients = new List <string> {
                requestDetails.LearnerEmail
            };
            response = await _emailHelper.SendMail(emailEntity);

            emailEntity.Body         = ReadEmailTemplate("EvaluatorAssignmentUpload.html");
            emailEntity.Body         = emailEntity.Body.Replace("{EvaluatorName}", requestDetails.EvaluatorName);
            emailEntity.Body         = emailEntity.Body.Replace("{YorbitRequestId}", requestDetails.YorbitRequestId);
            emailEntity.Body         = emailEntity.Body.Replace(" {YorbitCourseId}", requestDetails.YorbitCourseId);
            emailEntity.Body         = emailEntity.Body.Replace("{CourseName}", requestDetails.CourseName);
            emailEntity.Body         = emailEntity.Body.Replace("{AssignmentFile}", string.IsNullOrEmpty(requestDetails.AssignmentFile) ? "-" : await _blobHelper.GetBlobUriAsync("assignments", requestDetails.AssignmentFile));
            emailEntity.ToRecipients = new List <string> {
                requestDetails.EvaluatorEmail
            };
            emailEntity.CCRecipients = new List <string> {
                _learningOPMEmail
            };
            response = await _emailHelper.SendMail(emailEntity);

            return(response);
        }
Пример #4
0
 public async Task<FileDownloadResponse> DownloadFile(IEnumerable<Upload> uploads)
 {
     try
     {
         var fileDownloadResponse = new FileDownloadResponse();
         var fileDetails = uploads.FirstOrDefault();
         var blobFileUrl = await _blobHelper.GetBlobUriAsync("assignments", fileDetails.FileName.Trim());
         if(blobFileUrl != null)
         {
             fileDownloadResponse.IsSuccess = true;
             fileDownloadResponse.Message = "File Downloaded Successfully";
             fileDownloadResponse.FileUrl = blobFileUrl;
         }
         else
         {
             fileDownloadResponse = new FileDownloadResponse { Message = "No File Available to Download." };
         }
         return fileDownloadResponse;
     }
     catch(Exception ex)
     {
         return null;
     }
 }