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