Example #1
0
        public IActionResult ReviewedEssay(int id)
        {
            var viewModel = new ReviewedEssayViewModel();

            if (!this.teacherReviewedService.HasEssayWithId(id))
            {
                return(this.NotFound());
            }

            viewModel       = this.teacherReviewedService.GetEssayInfo <ReviewedEssayViewModel>(id);
            viewModel.Grade = this.teacherReviewedService.GetGradeViewModel <GradeViewModel>(id);

            return(this.View(viewModel));
        }
Example #2
0
        private UpdateEssayModel GenerateUpdateEssayModel(ReviewedEssayViewModel viewModel)
        {
            UpdateEssayModel updateEssayModel = new UpdateEssayModel()
            {
                Id          = viewModel.Id,
                ImageUrl    = viewModel.ImageUrl,
                Content     = this.htmlSanitizer.Sanitize(viewModel.Content),
                Description = viewModel.Description,
                Title       = viewModel.Title,
                UserId      = viewModel.UserId,
                ContestId   = viewModel.ContestId,
            };

            return(updateEssayModel);
        }
Example #3
0
        public async Task <IActionResult> ReviewedEssay(ReviewedEssayViewModel viewModel)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(viewModel));
            }

            if (viewModel.ImageContent != null)
            {
                viewModel.ImageUrl = await this.imageService.UploadImageToCloudinaryAsync(viewModel.ImageContent);
            }

            var result = await this.teacherReviewedService.UpdateEssayAync(this.GenerateUpdateEssayModel(viewModel));

            if (!result)
            {
                return(this.NotFound());
            }

            await this.teacherReviewedService.GradeEssayAsync(viewModel.Grade.PrivateComments, viewModel.Grade.Points, viewModel.Id);

            return(this.RedirectToAction("Index"));
        }