Пример #1
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));
        }
Пример #2
0
        public IActionResult CreateThread(Guid id)
        {
            CreateThreadDTO dto = new CreateThreadDTO();

            dto.CategoryId = id;

            return(View(dto));
        }
Пример #3
0
        public async Task <IActionResult> CreateThread(CreateThreadDTO dto)
        {
            // TEMP CODE: Check email and get userid based on it
//            var user = await _userRepo.GetByEmail(dto.UserEmail);
//            if (user != null)
//            {
            var thread = Data.Domain.Entities.Forum.Thread.Create(dto.Name, dto.Description, new Guid(HttpContext.Session.GetString("user_id")), dto.CategoryId);
            await _threadRepo.Add(thread);

            await _threadRepo.Save();

            return(RedirectToAction("Category", "Forum", new { id = dto.CategoryId }));

//            }
//            ModelState.AddModelError("", "TEMPCODE: Account doesn't exist!");

            // Something went bad, return dto back to view
            return(View(dto));
        }