public async Task <ActionResult> ConfirmInvite(int userId, int projectId, string code) { var userDTO = await _authorizationService.FindByIdAsync(userId.ToString()); if (_authorizationService.IsTokenExpired(userDTO, code)) { return(View("CrashedLink")); } var projectViewModel = _mapper.Map <ProjectViewModel>(_projectService.GetProjectById(projectId)); projectViewModel.RoleInProject = BLL.Enum.RoleInProjectEnum.Member; ViewBag.ActionDetermination = "Edit"; if (_authorizationService.IsProjectMember(userId, projectId)) { ViewBag.ActionResult = "You are already a member of this project"; return(View("Edit", projectViewModel)); } var projectAddedViewModel = _mapper.Map <ProjectViewModel>(_projectService.AddProjectMember(userId, projectId)); projectAddedViewModel.RoleInProject = BLL.Enum.RoleInProjectEnum.Member; // Получаем контекст хаба var context = Microsoft.AspNet.SignalR.GlobalHost.ConnectionManager.GetHubContext <InviteNotificationHub>(); var ss = context.Clients.All as List <string>; // отправляем сообщение context.Clients.All.displayMessage(userDTO.UserName + " joined to #" + projectId + " project"); ViewBag.ActionResult = "You have joined to project just now"; return(View("Edit", projectAddedViewModel)); }