public async Task <IActionResult> AddParticipant(string id) { var user = GetAuthenticatedUser(); var participant = await _participantsRepository.GetAsync(id, user.Email); if (participant == null) { var viewModel = new ProjectParticipateViewModel { ProjectId = id, UserId = user.Email, FullName = user.GetFullName(), Registered = DateTime.UtcNow, Result = false, UserAgent = HttpContext.Request.Headers["User-Agent"].ToString() }; await _participantsRepository.SaveAsync(viewModel); var project = await _projectRepository.GetAsync(id); project.ParticipantsCount += 1; await _projectRepository.UpdateAsync(project); } return(RedirectToAction("ProjectDetails", "Project", new { id = id, participantAdded = true })); }
public async Task <IActionResult> AddParticipant(string id) { var user = UserModel.GetAuthenticatedUser(User.Identity); var participant = await _participantsRepository.GetAsync(id, user.Email); if (participant == null) { var viewModel = new ProjectParticipateViewModel { ProjectId = id, UserId = user.Email, UserIdentifier = user.Id, FullName = user.GetFullName(), Registered = DateTime.UtcNow, Result = false, UserAgent = HttpContext.Request.Headers["User-Agent"].ToString() }; await _participantsRepository.SaveAsync(viewModel); var project = await _projectRepository.GetAsync(id); project.ParticipantsCount += 1; project.LastModified = DateTime.UtcNow; await _projectRepository.UpdateAsync(project); UserModel.GenerateStreamsId(_streamsIdRepository, user.Id); } TempData["ShowParticipantAddedModal"] = true; return(RedirectToAction("ProjectDetails", "Project", new { id = id })); }