예제 #1
0
        public async Task <IActionResult> Create(Guid id, ForumMessagesEditViewModel model)
        {
            if (id == null)
            {
                return(this.NotFound());
            }
            var topic = await this._context.ForumTopics
                        .SingleOrDefaultAsync(x => x.Id == id);

            if (topic == null)
            {
                return(this.NotFound());
            }
            if (ModelState.IsValid)
            {
                var user = await this.userManager.GetUserAsync(this.HttpContext.User);

                var now     = DateTime.UtcNow;
                var message = new ForumMessage()
                {
                    Text      = model.Text,
                    CreatorId = user.Id,
                    TopicId   = topic.Id,
                    Created   = now,
                    Modified  = null
                };

                _context.Add(message);
                await _context.SaveChangesAsync();

                this.ViewBag.Topic = topic;
                return(RedirectToAction("Index", "ForumTopics", new { id = topic.Id }));
            }
            return(View(model));
        }
예제 #2
0
        public async Task <IActionResult> Edit(Guid id, ForumMessagesEditViewModel model)
        {
            if (id == null)
            {
                return(NotFound());
            }

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

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

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

                return(RedirectToAction("Index", "ForumTopics", new { id = forumMessage.TopicId }));
            }
            return(View(forumMessage));
        }
예제 #3
0
        // GET: ForumMessages/Create
        public async Task <IActionResult> Create(Guid id)
        {
            if (id == null)
            {
                return(this.NotFound());
            }
            var topic = await this._context.ForumTopics
                        .SingleOrDefaultAsync(x => x.Id == id);

            if (topic == null)
            {
                return(this.NotFound());
            }
            var model = new ForumMessagesEditViewModel();

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

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

            if (forumMessage == null)
            {
                return(NotFound());
            }
            this.ViewBag.Message = forumMessage;
            var model = new ForumMessagesEditViewModel
            {
                Text = forumMessage.Text
            };

            return(View(model));
        }