Esempio n. 1
0
        public async Task <ActionResult> MakeThread(MakeThreadViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            else if (!this.TryValidateModel(model))
            {
                ModelState.AddModelError(nameof(MakePostViewModel.Content), "Post content contains prohibited HTML tags!");
                return(View(model));
            }

            var newThread = new Thread
            {
                Author      = db.Users.Find(User.Identity.GetUserId()),
                Category    = db.Categories.Find(model.CategoryId),
                IsPinned    = false,
                ThreadTitle = model.ThreadTitle
            };

            db.Threads.Add(newThread);

            var firstPost = new Post
            {
                Author = db.Users.Find(User.Identity.GetUserId()),
                Body   = model.FirstPostContent,
                Thread = newThread
            };

            db.Posts.Add(firstPost);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index", new { index = model.CategoryId }));
        }
Esempio n. 2
0
        public ActionResult MakeThread(int index)
        {
            var th = new MakeThreadViewModel
            {
                CategoryId       = index,
                FirstPostContent = "",
                ThreadTitle      = ""
            };

            return(View(th));
        }