public ActionResult EventDetailsById(int id, string eventfulId, bool eventfulEvent) { if (!eventfulEvent) { var currentUserId = this.User.Identity.GetUserId(); var isAdmin = this.IsAdmin(); var eventDetails = this.eventsdb.Events .Where(e => e.Id == id) .Where(e => e.IsPublic || isAdmin || (e.AuthorId != null && e.AuthorId == currentUserId)) .Select(EventDetailsViewModel.ViewModel) .FirstOrDefault(); var isOwner = (eventDetails != null && eventDetails.AuthorId != null && eventDetails.AuthorId == currentUserId); this.ViewBag.CanEdit = isOwner || isAdmin; return this.PartialView("_EventDetails", eventDetails); } else { this.ViewBag.CanEdit = false; EventDetailsViewModel result = new EventDetailsViewModel(); EventfulSearch search = new EventfulSearch(); search.Id = eventfulId; var eventResult = search.GetEventfulDetails(); if (eventResult.description != null) result.Description = HttpUtility.HtmlDecode(eventResult.description); else result.Description = "No additional details."; result.Id = eventfulId; List<CommentViewModel> comments = new List<CommentViewModel>(); var r = this.eventfulDb.EventfulComments.Where(c => c.EventfulId == eventfulId).ToList(); if (r != null && r.Any()) { foreach (EventfulComment c in r) { CommentViewModel cView = new CommentViewModel(); cView.Text = c.Text; cView.Author = c.AspNetUser.FullName; comments.Add(cView); } } result.Comments = comments; return this.PartialView("_EventDetails", result); } }
public ActionResult Create(int id) { var model = new CommentViewModel(); model.EventId = id; return this.PartialView("_CommentForm", model); }