Ejemplo n.º 1
0
        public ActionResult Create(AnnouncementCommentViewModel commentViewModel)
        {
            if (ModelState.IsValid)
            {
                AnnouncementComment comment = new AnnouncementComment()
                {
                    Id             = commentViewModel.CommentId,
                    AnnouncementId = commentViewModel.AnnouncementId,
                    Comment        = commentViewModel.Comment,
                    CreatedAt      = DateTime.Now,
                    IsActive       = true,
                    UserId         = WebSecurity.CurrentUserId
                };

                try
                {
                    _announcementCommentRepository.Save(comment);
                }
                catch (DataException)
                {
                    TempData["error"] = ProjectConfiguration.Get.DataErrorMessage;
                }

                return(RedirectToAction("Details", "Announcement", new { Id = comment.AnnouncementId }));
            }
            else
            {
                TempData["Comment"] = commentViewModel.Comment;
                return(RedirectToAction("Details", "Announcement", new { Id = commentViewModel.AnnouncementId }));
            }
        }
Ejemplo n.º 2
0
 private void EnsureInDeleteAccess(AnnouncementComment comment, AnnouncementTypeEnum?type = null)
 {
     EnsureInCreateAccess(comment.AnnouncementRef, type);
     if (!BaseSecurity.IsDistrictOrTeacher(Context))
     {
         throw new ChalkableSecurityException();
     }
 }
 public static AnnouncementCommentViewData Create(AnnouncementComment announcementComment, IList <AttachmentInfo> attachments, int currentPersonId)
 {
     return(new AnnouncementCommentViewData
     {
         Id = announcementComment.Id,
         AnnouncementId = announcementComment.AnnouncementRef,
         Attachments = attachments?.Select(x => AttachmentViewData.Create(x, currentPersonId)).ToList(),
         ParentCommentId = announcementComment.ParentCommentRef,
         Owner = ShortPersonViewData.Create(announcementComment.Person),
         TimePosted = announcementComment.PostedDate,
         Text = announcementComment.Text,
         Hidden = announcementComment.Hidden,
         Deleted = announcementComment.Deleted
     });
 }
        public static AnnouncementCommentViewData PrepareCommentViewData(AnnouncementComment comment, IServiceLocatorSchool serviceLocator)
        {
            Trace.Assert(serviceLocator.Context.PersonId.HasValue);

            var attachmentInfo = comment.Attachments?.Select(x => serviceLocator.AttachementService.TransformToAttachmentInfo(x)).ToList() ?? new List <AttachmentInfo>();
            var res            = AnnouncementCommentViewData.Create(comment, attachmentInfo, serviceLocator.Context.PersonId.Value);

            if (comment.SubComments != null && comment.SubComments.Count > 0)
            {
                res.SubComments = new List <AnnouncementCommentViewData>();
                foreach (var subComment in comment.SubComments)
                {
                    res.SubComments.Add(PrepareCommentViewData(subComment, serviceLocator));
                }
            }
            return(res);
        }