コード例 #1
0
 public ReviewAddedNotification(Homework homework, HomeworkAcceptViewModel model, RequestContext request)
     : base(u => u.Id == homework.StudentId,
            u => $"Задача <a href = \"{UrlGenerator.GetRouteUrl(request, "Index", "Homeworks", new { homeworkId = homework.Id })}" +
            $"\">{homework.Task.Title}</a> проверена <i>(" + (model.IsAccepted
                                      ? "зачтена"
                                      : $"есть замечания: \"{model.ReviewComment.Substring(0, Math.Min(model.ReviewComment.Length, 15))}...\"") + ")</i>")
 {
 }
コード例 #2
0
        public async Task <ActionResult> AcceptHomework(HomeworkAcceptViewModel model)
        {
            if (!ModelState.IsValid)
            {
                this.AddViewBagError(@"Ошибка при добавлении рецензии");
            }
            var homework = _repository.HomeworkManager.Get(h => h.Id == model.HomeworkId);

            if (!_repository.HomeworkManager.AddReview(User.Identity.GetUserId(), model))
            {
                this.AddViewBagError(@"Ошибка при добавлении рецензии");
            }
            else
            {
                this.AddViewBagMessage(@"Рецензия успешно добавлена!");
                await(new ReviewAddedNotification(homework, model, Request.RequestContext)).Send();
            }
            return(RedirectToAction("Index", "Courses", new { courseId = homework.Task.Course.Id }));
        }
コード例 #3
0
        /// <summary>
        /// Добавляет рецензию от преподавателя, проверяя права
        /// </summary>
        /// <param name="rights">id пользователя</param>
        /// <param name="model">рецензия от преподавателя</param>
        /// <returns>true, если это тот препод</returns>
        public bool AddReview(string rights, HomeworkAcceptViewModel model)
        {
            return(Execute
                   (
                       context =>
            {
                var homework = Get(h => h.Id == model.HomeworkId);
                if (homework == null || homework.Task.Course.Mentor.Id != rights)
                {
                    return false;
                }

                homework.IsCompleted = model.IsAccepted;
                homework.ReviewComment = String.IsNullOrEmpty(model.ReviewComment)
                                                                                         ? model.IsAccepted? "Задача зачтена" : "Задача не зачтена"
                                                                                         : model.ReviewComment;
                SaveChanges();
                return true;
            }
                   ));
        }