Esempio n. 1
0
        public async Task <IActionResult> Edit(Guid?messageId, ForumMessageEditModel model)
        {
            if (messageId == null)
            {
                return(this.NotFound());
            }

            var message = await this.context.ForumMessages
                          .Include(x => x.ForumTopic)
                          .SingleOrDefaultAsync(m => m.Id == messageId);

            if (message == null || !this.userPermissions.CanEditForumMessage(message))
            {
                return(this.NotFound());
            }

            if (this.ModelState.IsValid)
            {
                message.Text     = model.Text;
                message.Modified = DateTime.UtcNow;

                await this.context.SaveChangesAsync();

                return(this.RedirectToAction("Index", "ForumTopics", new { topicId = message.ForumTopicId }));
            }

            this.ViewBag.Message = message;
            return(this.View(model));
        }
        public async Task <IActionResult> Edit(Guid messageId, Guid?topicId, ForumMessageEditModel forumMessage)
        {
            if (messageId == null)
            {
                return(NotFound());
            }

            var message = await this._context.ForumMessages
                          .SingleOrDefaultAsync(x => x.Id == messageId);

            if (message == null)
            {
                return(NotFound());
            }

            if (topicId == null)
            {
                return(this.NotFound());
            }

            var topic = await this._context.ForumTopics
                        .SingleOrDefaultAsync(x => x.Id == topicId);

            if (topic == null)
            {
                return(this.NotFound());
            }

            if (ModelState.IsValid)
            {
                message.Text     = forumMessage.Text;
                message.Modified = DateTime.UtcNow;

                await _context.SaveChangesAsync();

                return(RedirectToAction("Details", "ForumTopics", new { id = topic.Id, forumId = topic.ForumId }));
            }

            return(View(forumMessage));
        }
        // GET: ForumMessages/Edit/5
        public async Task <IActionResult> Edit(Guid?id, Guid?topicId)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var forumMessage = await _context.ForumMessages.SingleOrDefaultAsync(m => m.Id == id);

            if (forumMessage == null)
            {
                return(NotFound());
            }

            if (topicId == null)
            {
                return(this.NotFound());
            }

            var topic = await this._context.ForumTopics
                        .SingleOrDefaultAsync(x => x.Id == topicId);

            if (topic == null)
            {
                return(this.NotFound());
            }

            this.ViewBag.Topic     = topic;
            this.ViewBag.MessageId = id;

            var message = new ForumMessageEditModel
            {
                Text = forumMessage.Text
            };

            ViewData["CreatorId"]    = new SelectList(_context.Users, "Id", "Name", forumMessage.CreatorId);
            ViewData["ForumTopicId"] = new SelectList(_context.ForumTopics, "Id", "CreatorId", forumMessage.ForumTopicId);
            return(View(message));
        }
Esempio n. 4
0
        public async Task <IActionResult> Create(Guid?topicId, ForumMessageEditModel model)
        {
            if (topicId == null)
            {
                return(this.NotFound());
            }

            var topic = await this.context.ForumTopics
                        .SingleOrDefaultAsync(m => m.Id == topicId);

            if (topic == null)
            {
                return(this.NotFound());
            }

            var user = await this.userManager.GetUserAsync(this.HttpContext.User);

            if (this.ModelState.IsValid)
            {
                var now     = DateTime.UtcNow;
                var message = new ForumMessage
                {
                    ForumTopicId = topic.Id,
                    CreatorId    = user.Id,
                    Created      = now,
                    Modified     = now,
                    Text         = model.Text
                };

                this.context.Add(message);
                await this.context.SaveChangesAsync();

                return(this.RedirectToAction("Index", "ForumTopics", new { topicId = topic.Id }));
            }

            this.ViewBag.Topic = topic;
            return(this.View(model));
        }
Esempio n. 5
0
        // GET: ForumMessages/Edit/5
        public async Task <IActionResult> Edit(Guid?messageId)
        {
            if (messageId == null)
            {
                return(this.NotFound());
            }

            var message = await this.context.ForumMessages
                          .Include(x => x.ForumTopic)
                          .SingleOrDefaultAsync(m => m.Id == messageId);

            if (message == null || !this.userPermissions.CanEditForumMessage(message))
            {
                return(this.NotFound());
            }

            var model = new ForumMessageEditModel
            {
                Text = message.Text
            };

            this.ViewBag.Message = message;
            return(this.View(model));
        }