Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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)
                       ));
        }
Exemplo n.º 3
0
        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
            });
        }