コード例 #1
0
        public IActionResult ReviewEssay(int id)
        {
            var viewModel = new ReviewEssayViewModel();

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

            viewModel = this.teacherService.GetEssayInfo <ReviewEssayViewModel>(id);

            return(this.View(viewModel));
        }
コード例 #2
0
        private UpdateEssayModel GenerateUpdateEssayModel(ReviewEssayViewModel 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);
        }
コード例 #3
0
        public async Task <IActionResult> ReviewEssay(ReviewEssayViewModel 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.teacherService.UpdateEssayAync(this.GenerateUpdateEssayModel(viewModel));

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

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

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