コード例 #1
0
        public ActionResult AddAnswer(AddAnswerVM model)
        {
            if (model.IsLoad == EditMessageVM.LoadImage)
            {
                model.Message = UserMessageService.GetByPK(model.Message.UserMessageID);
                return(ProcessImage(model));
            }
            var message = new UserMessage {
                ParentMessageID = model.Message.UserMessageID,
                IsActive        = true,
                CreatorUserID   = User.UserID,
                Text            = model.Description
            };
            var parent = UserMessageService.GetAll(x =>
                                                   x.UserMessageID == model.Message.UserMessageID &&
                                                   x.IsAnswered).FirstOrDefault();

            if (parent != null)
            {
                parent.IsAnswered = false;
            }

            InsertAndSubmit(message);

            return(RedirectToAction(() => Details(model.Message.UserMessageID, 1)));
        }
コード例 #2
0
        private ActionResult ForumMessages(long?messageID, List <int> sectionIds)
        {
            var messages = (sectionIds.Any()
                                ? UserMessageService.GetAll().Where(um => sectionIds.Contains(um.MessageSectionID.Value))
                                : UserMessageService.GetAll().Where(um => um.ParentMessageID == messageID))
                           .OrderByDescending(m => m.CreateDate)
                           .Take(CommonConst.MessageCount).ToList();
            var title = string.Empty;

            if (sectionIds.Any())
            {
                if (sectionIds.Count == 1)
                {
                    var section = MessageSectionService.GetByPK(sectionIds.First());
                    title = section.Name;
                }
                else
                {
                    title = "Сообщения форума";
                }
            }
            else
            {
                var message = UserMessageService.GetByPK(messageID);
                if (message == null)
                {
                    title = "Сообщение не найдено";
                }
            }
            return(GetFeed(title, messages));
        }
コード例 #3
0
        public ActionResult AnsweredToggle(long messageID)
        {
            var message = UserMessageService.GetByPK(messageID);

            message.IsAnswered = !message.IsAnswered;
            UserMessageService.SubmitChanges();
            return(RedirectBack());
        }
コード例 #4
0
        public ActionResult Edit(long messageId)
        {
            var message = UserMessageService.GetByPK(messageId);

            CheckPermission(message);

            return(View(ViewNames.AddMessage, new EditMessageVM {
                MessageId = message.UserMessageID,
                Description = message.Text,
                MessageTitle = message.Title,
            }));
        }
コード例 #5
0
        public ActionResult AddAnswer(long messageID)
        {
            var userMessage = UserMessageService.GetByPK(messageID);

            if (userMessage == null)
            {
                return(null);
            }
            var model = new AddAnswerVM {
                Message = userMessage,
                CannotAddMessageToClub = CheckCannotAddMessageToClub(userMessage.MessageSection)
            };

            return(View(model));
        }
コード例 #6
0
        public ActionResult Delete(long messageID)
        {
            var message = UserMessageService.GetByPK(messageID);

            if (User.InRole(Role.ForumAdmin) || (User.InRole(Role.Trainer) && message.CreatorUserID == User.UserID))
            {
                UserMessageService.DeleteAndSubmit(message);
                if (message.ParentMessageID.HasValue)
                {
                    return(RedirectToAction(() =>
                                            Details(message.ParentMessageID.Value, 1)));
                }
                if (message.MessageSectionID.HasValue)
                {
                    return(RedirectToAction(() =>
                                            Section(message.MessageSectionID.Value, 1)));
                }
            }

            return(RedirectBack());
        }
コード例 #7
0
        public ActionResult EditPost(EditMessageVM model)
        {
            if (model.IsLoad == EditMessageVM.LoadImage)
            {
                return(ProcessImage(model, ViewNames.AddMessage));
            }

            var message = UserMessageService.GetByPK(model.MessageId);

            CheckPermission(message);
            message.Title = model.MessageTitle;
            message.Text  = model.Description;
            CheckMaxLength(message);
            UserMessageService.SubmitChanges();
            if (message.Parent.GetOrDefault(x => x.GroupID) > 0)
            {
                return(RedirectToAction(() => Group(message.Parent.GroupID.Value)));
            }
            return(RedirectToAction(() => Section(
                                        message.MessageSectionID ?? message.Parent.MessageSectionID, 1)));
        }