Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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());
        }