public async Task <IActionResult> SetStatusPost(int?id, ChangeStatusPostViewModel model)
        {
            if (model == null)
            {
                return(NotFound());
            }

            var post = await _context.Posts.SingleOrDefaultAsync(m => m.ID == id);

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

            post.Status = model.Status;

            _context.Update(post);
            await _context.SaveChangesAsync();

            var user = _context.Users.FirstOrDefault(x => x.Id == post.AuthorId);

            // На продакшене раскоментить
            //await _emailSender.SendEmailModerateStatusPost(user.Email);

            ModerateWorkViewModel viewmodel = new ModerateWorkViewModel()
            {
                Posts = _context.Posts
                        .Include(x => x.Contest)
                        .Include(x => x.Nomination)
                        .Where(x => x.Status == StatusPost.AwaitingForModeration)
            };

            return(View("~/Views/Manage/ModerateWork.cshtml", viewmodel));
        }
Beispiel #2
0
        public async Task <IActionResult> GetWaitingModerationWork(int contestId)
        {
            ModerateWorkViewModel viewmodel = new ModerateWorkViewModel()
            {
                Posts = await _context.Posts
                        .Include(x => x.Contest)
                        .Include(x => x.Nomination)
                        .Include(x => x.Author)
                        .Where(x => x.Status == StatusPost.AwaitingForModeration && x.ContestId == contestId)
                        .ToListAsync()
            };

            return(View(viewmodel));
        }
Beispiel #3
0
        public async Task <IActionResult> ModerateWork(ModerateWorkViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var user = await _userManager.GetUserAsync(User);

            if (user == null)
            {
                throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'.");
            }

            ModerateWorkViewModel viewmodel = new ModerateWorkViewModel()
            {
                Posts = _context.Posts
                        .Include(x => x.Contest)
                        .Include(x => x.Nomination)
                        .Where(x => x.Status == StatusPost.AwaitingForModeration)
            };

            return(View(viewmodel));
        }