public async Task <IActionResult> CreatePost(CreatePostDTO createPostDTO) { var userId = GetUserId(); // Does User exist? if (await UserExists(userId) != true) { return(Unauthorized()); } var thread = await _Repo.Threads.FirstOrDefaultAsync(x => x.Id == createPostDTO.ThreadId); var newPost = new Post { Content = JsonSerializer.Serialize(createPostDTO.Content), CreatedOn = DateTime.Now, ThreadFK = thread.Id, Thread = thread, AuthorId = int.Parse(userId) }; thread.LastUpdated = DateTime.Now; _Repo.Add(newPost); _Repo.Update(thread); await _Repo.SaveChangesAsync(); return(await GetPosts(createPostDTO.ThreadId)); }
public async Task <IActionResult> CreateThread(CreateThreadDTO createThreadDTO) { var userId = User.FindFirst(ClaimTypes.NameIdentifier).Value; if (await UserExists(userId) != true) { return(Unauthorized()); } var subforum = await _Repo.Subforums.FirstOrDefaultAsync(x => x.Id == createThreadDTO.SubforumId); var newThread = new Thread { Title = createThreadDTO.Title, Content = createThreadDTO.Content, CreatedOn = DateTime.Now, LastUpdated = DateTime.Now, SubforumFK = subforum.Id, Subforum = subforum, Edited = false, AuthorId = int.Parse(userId) }; _Repo.Add(newThread); await _Repo.SaveChangesAsync(); return(await GetThreads(createThreadDTO.SubforumId)); }
public async Task <IActionResult> CreateForum(CreateForumDTO createForumDTO) { var newForum = new Forum { Title = createForumDTO.Title, Slug = createForumDTO.Title.GenerateSlug(), Description = createForumDTO.Description ?? string.Empty }; _Repo.Add(newForum); await _Repo.SaveChangesAsync(); return(await GetForums()); }
public async Task <IActionResult> CreateSubforum(CreateSubforumDTO createSubforumDTO) { var forum = await _Repo.Forums.FirstOrDefaultAsync(x => x.Id == createSubforumDTO.ForumId); var newSubforum = new Subforum { Title = createSubforumDTO.Title, Slug = createSubforumDTO.Title.GenerateSlug(), Description = createSubforumDTO.Description ?? string.Empty, Icon = createSubforumDTO.Icon ?? string.Empty, ForumFK = forum.Id, Forum = forum }; _Repo.Add(newSubforum); await _Repo.SaveChangesAsync(); return(await GetForumsAsync()); }