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)); }
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)); }
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)); }