private JsonResult ValidateScheduleItemAddress(ScheduleItemAddress scheduleItemAddress, out bool isValid) { var @event = eventService.GetEvent(scheduleItemAddress.ToEventAddress()); var success = new JsonResult { Data = new { result = "success" } }; var failure = new JsonResult { Data = new { result = "error", message = "invalid data" } }; if (@event == null) { isValid = false; return(failure); } var scheduleItem = scheduleItemService.GetScheduleItem(scheduleItemAddress); if (scheduleItem == null) { isValid = false; return(failure); } if (!context.User.IsAuthenticated) { isValid = false; return(failure); } isValid = true; return(success); }
public object AddComment(ScheduleItemAddress scheduleItemAddress, CommentInput commentInput) { if (context.Site.CommentingDisabled) { return(null); } Event evnt = eventService.GetEvent(scheduleItemAddress.ToEventAddress()); if (evnt == null) { return(null); } ScheduleItem scheduleItem = scheduleItemService.GetScheduleItem(scheduleItemAddress); if (scheduleItem == null) { return(null); } ModelResult <ScheduleItemComment> addCommentResults = commentService.AddComment(scheduleItemAddress, commentInput); if (!addCommentResults.IsValid) { ModelState.AddModelErrors(addCommentResults.ValidationState); return(Item(scheduleItemAddress)); } if (!context.User.IsAuthenticated) { if (commentInput.SaveAnonymousUser) { Response.Cookies.SetAnonymousUser(commentInput.Creator); } else if (Request.Cookies.GetAnonymousUser() != null) { Response.Cookies.ClearAnonymousUser(); } } return(new RedirectResult( addCommentResults.Item.State != EntityState.PendingApproval ? Url.Comment(addCommentResults.Item) : Url.CommentPending(addCommentResults.Item) )); }
private OxiteViewModelItem <ScheduleItem> ItemImpl(ScheduleItemAddress scheduleItemAddress) { Event evnt = eventService.GetEvent(scheduleItemAddress.ToEventAddress()); if (evnt == null) { return(null); } ScheduleItem scheduleItem = scheduleItemService.GetScheduleItem(scheduleItemAddress); if (scheduleItem == null) { return(null); } bool includeUnapproved = context.User.IsAuthenticated && context.User.IsInRole("Admin"); return(new OxiteViewModelItem <ScheduleItem>(scheduleItem) { Container = scheduleItem.Event }); }