public async Task <IActionResult> Create(Guid?topicId, ForumMessageViewModel model)
        {
            if (topicId == null)
            {
                return(this.NotFound());
            }

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

            if (this.ModelState.IsValid && user != null)
            {
                var forumMessage = new ForumMessage
                {
                    Created  = DateTime.UtcNow,
                    Modified = DateTime.UtcNow,
                    Text     = model.Text,
                    TopicId  = (Guid)topicId,
                    UserId   = user.Id
                };

                this.context.ForumMessages.Add(forumMessage);
                await this.context.SaveChangesAsync();

                return(this.RedirectToAction("Index", new { topicId }));
            }

            return(this.View(model));
        }
        public async Task <IActionResult> Edit(Guid?id, Guid?topicId, ForumMessageViewModel model)
        {
            if (id == null || topicId == null)
            {
                return(this.NotFound());
            }

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

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

            if (this.ModelState.IsValid)
            {
                forumMessage.Text     = model.Text;
                forumMessage.Modified = DateTime.UtcNow;
                await this.context.SaveChangesAsync();

                return(this.RedirectToAction("Index", new { topicId }));
            }

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

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

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

            var model = new ForumMessageViewModel
            {
                Text = forumMessage.Text
            };

            this.ViewBag.TopicId = forumMessage.TopicId;
            this.ViewBag.UserId  = forumMessage.UserId;
            return(this.View(model));
        }