public async Task AddUserRoom(string roomName, string addName) { var nameID = chatClients.Where(s => s.Key == addName).Select(s => s.Value.ID).First(); await Groups.AddToGroupAsync(nameID, roomName); }
public Task AddSelfToGroup(string groupName) { return(Groups.AddToGroupAsync(Context.ConnectionId, groupName)); }
public async Task AddUserToGroup(string group) { await Groups.AddToGroupAsync(Context.ConnectionId, group); }
//Not working in IIS Express, but working in debug mode //Working in Production Mode //Don't know why public Task JoinGroup(string group) { return(Groups.AddToGroupAsync(Context.ConnectionId, group)); }
/* * [HubMethodName("getTeam")] * public async System.Threading.Tasks.Task GetTeam(JObject request) * { * string errorMsg = string.Empty; * int status = 0; * MessengerHubResponse<ChatTeamViewModel> result = null; * string action = Enum.GetName(typeof(TeamMessageReponseKey), TeamMessageReponseKey.GetTeam); * //PaginationModel<ChatTeamViewModel> currentMessages = new PaginationModel<ChatTeamViewModel>(); * try * { * if (TTXTeamMemberRepository<FETeamMemberViewModel>.Instance.CheckIsExists(m => m.TeamId == request.TeamId && m.MemberId == request.UserId && m.Status == (int)MemberStatus.Membered)) * { * ChatTeamViewModel team = await TTXTeamRepository<ChatTeamViewModel>.Instance.GetSingleModelAsync(t => t.Id == request.TeamId); * * team.IsNewMessage = TTXTeamMessageRepository<TeamMessage>.Instance.CountUnseenMessage(team.Id, request.UserId) > 0; * * if (team != null) * { * team.IsAdmin = request.UserId == team.HostId; * if (team.IsAdmin) * { * team.TotalRequest = TTXTeamMemberRepository<FETeamMemberViewModel>.Instance.CountRequests(request.TeamId); * } * * result = new MessengerHubResponse<ChatTeamViewModel>() * { * status = 1, * responseKey = string.Format("{0}", action), * data = team, * errors = null * }; * } * else * { * result = new MessengerHubResponse<ChatTeamViewModel>() * { * status = 0, * responseKey = TeamMessageReponseKey.NotMembered.ToString(), * data = null, * errors = null * }; * } * } * else * { * result = new MessengerHubResponse<ChatTeamViewModel>() * { * status = 0, * responseKey = GameResponseKey.NotAuthorized.ToString(), * data = null, * errors = new List<string>() { "You are not membered of this team" } * }; * Clients.Caller.receiveMessage(result); * } * } * catch (Exception ex) * { * result = new MessengerHubResponse<ChatTeamViewModel>() * { * status = 0, * responseKey = string.Format("{0}", action), * data = null, * error = ex.StackTrace * }; * } * finally * { * Clients.Caller.receiveMessage(result); * UpdatePlayerConnectionIdAsync(request.UserId); * } * } * * [HubMethodName("getTeamMessages")] * public async System.Threading.Tasks.Task GetTeamMessages(ApiGetTeamMemberViewMdoel request) * { * string errorMsg = string.Empty; * int status = 0; * MessengerHubResponse<ChatTeamViewModel> result = null; * string action = Enum.GetName(typeof(TeamMessageReponseKey), TeamMessageReponseKey.GetTeamMessages); * //PaginationModel<ChatTeamViewModel> currentMessages = new PaginationModel<ChatTeamViewModel>(); * try * { * if (TTXTeamMemberRepository<FETeamMemberViewModel>.Instance.CheckIsExists(m => m.TeamId == request.TeamId && m.MemberId == request.UserId && m.Status == (int)MemberStatus.Membered)) * { * //var messages = await TTXTeamRepository<ChatTeamViewModel>.Instance.GetModelListByAsync(m => m.Id == request.TeamId, m => m.CreatedDate, "desc", 0, 10); * ChatTeamViewModel team = await TTXTeamRepository<ChatTeamViewModel>.Instance.GetSingleModelAsync * (t => t.Id == request.TeamId); * TTXTeamMemberRepository<FETeamMemberViewModel>.Instance.UpdateLastSeenMessages(request.UserId, request.TeamId); * result = new MessengerHubResponse<ChatTeamViewModel>() * { * status = 1, * responseKey = string.Format("{0}", action), * data = team, * errors = null * }; * } * else * { * result = new MessengerHubResponse<ChatTeamViewModel>() * { * status = 0, * responseKey = GameResponseKey.NotAuthorized.ToString(), * data = null, * errors = new List<string>() { "You are not membered of this team" } * }; * Clients.Caller.receiveMessage(result); * } * } * catch (Exception ex) * { * result = new MessengerHubResponse<ChatTeamViewModel>() * { * status = 0, * responseKey = string.Format("{0}", action), * data = null, * error = ex.StackTrace * }; * } * finally * { * Clients.Caller.receiveMessage(result); * UpdatePlayerConnectionIdAsync(request.UserId); * } * } * * [HubMethodName("seenTeamMessages")] * public async Task LeaveTeamMessagesAsync(ApiGetTeamMemberViewMdoel request) * { * if (TTXTeamMemberRepository<FETeamMemberViewModel>.Instance.CheckIsExists(m => m.TeamId == request.TeamId && m.MemberId == request.UserId && m.Status == (int)MemberStatus.Membered)) * { * TTXTeamMemberRepository<FETeamMemberViewModel>.Instance.UpdateLastSeenMessages(request.UserId, request.TeamId); * MessengerHubResponse<bool> result = new MessengerHubResponse<bool>() * { * status = 1, * responseKey = Enum.GetName(typeof(ApiResponseKey), ApiResponseKey.Succeed), * data = true * }; * Clients.Caller.receiveMessage(result); * } * UpdatePlayerConnectionIdAsync(request.UserId); * } * * [HubMethodName("getTeamNotifications")] * public async System.Threading.Tasks.Task GetTeamNotifications(ApiGetTeamMemberViewMdoel request) * { * string errorMsg = string.Empty; * string action = Enum.GetName(typeof(TeamMessageReponseKey), TeamMessageReponseKey.GetTeamNotifications); * try * { * switch (request.MemberStatus) * { * case MemberStatus.Requested: * var requests = await TTXTeamMemberRepository<FETeamMemberViewModel>.Instance.GetModelListByAsync(m => m.TTX_Team.HostId == request.UserId && m.TeamId == request.TeamId && m.Status == (int)MemberStatus.Requested); * if (requests.Count > 0) * { * var lastSeenTeamRequest = DAL.TTXApp.TTXUserLogDAL.Instance.GetSingleModel(l => l.UserId == request.UserId * && l.Action == TTXUserLogActions.LastSeenTeamRequest.ToString()); * requests.ForEach(i => i.IsNew = lastSeenTeamRequest == null || lastSeenTeamRequest.LastUpdate.Value < i.CreatedDate); * * if (lastSeenTeamRequest == null) * { * lastSeenTeamRequest = new TTX_User_Log() * { * Id = Guid.NewGuid(), * Action = TTXUserLogActions.LastSeenTeamRequest.ToString(), * UserId = request.UserId, * CreatedDate = DateTime.UtcNow, * LastUpdate = DateTime.UtcNow * }; * } * else * { * lastSeenTeamRequest.LastUpdate = DateTime.UtcNow; * } * TTXUserLogDAL.Instance.SaveModel(lastSeenTeamRequest); * } * * MessengerHubResponse<List<FETeamMemberViewModel>> result = new MessengerHubResponse<List<FETeamMemberViewModel>>() * { * status = 1, * responseKey = string.Format("{0}", action), * data = requests.OrderByDescending(r => r.CreatedDate).ToList(), * errors = null * }; * * Clients.Caller.receiveMessage(result); * * break; * * case MemberStatus.Invited: * var invitations = await TTXTeamMemberRepository<InvitationViewModel>.Instance.GetModelListByAsync(m => m.MemberId == request.UserId && m.Status == (int)MemberStatus.Invited); * var lastSeenTeamInvitation = DAL.TTXApp.TTXUserLogDAL.Instance.GetSingleModel(l => l.UserId == request.UserId * && l.Action == TTXUserLogActions.LastSeenTeamInvitation.ToString()); * invitations.ForEach(i => i.IsNew = lastSeenTeamInvitation == null || lastSeenTeamInvitation.LastUpdate.Value < i.CreatedDate); * * if (lastSeenTeamInvitation == null) * { * lastSeenTeamInvitation = new TTX_User_Log() * { * Id = Guid.NewGuid(), * Action = TTXUserLogActions.LastSeenTeamInvitation.ToString(), * UserId = request.UserId, * CreatedDate = DateTime.UtcNow, * LastUpdate = DateTime.UtcNow * }; * } * else * { * lastSeenTeamInvitation.LastUpdate = DateTime.UtcNow; * } * TTXUserLogDAL.Instance.SaveModel(lastSeenTeamInvitation); * * MessengerHubResponse<List<InvitationViewModel>> inviteResult = new MessengerHubResponse<List<InvitationViewModel>>() * { * status = 1, * responseKey = string.Format("{0}", action), * data = invitations.OrderByDescending(r => r.CreatedDate).ToList(), * errors = null * }; * * Clients.Caller.receiveMessage(inviteResult); * * break; * * case MemberStatus.AdminRejected: * break; * * case MemberStatus.MemberRejected: * break; * * case MemberStatus.Banned: * break; * * case MemberStatus.Membered: * break; * * case MemberStatus.AdminRemoved: * break; * * case MemberStatus.MemberCanceled: * break; * * case MemberStatus.Guest: * break; * * default: * break; * } * } * catch (Exception ex) * { * } * finally * { * UpdatePlayerConnectionIdAsync(request.UserId); * } * } * * [HubMethodName("getMyTeams")] * public async System.Threading.Tasks.Task GetMyTeams(RequestPaging request) * { * string errorMsg = string.Empty; * int status = 0; * MessengerHubResponse<PaginationModel<ChatTeamViewModel>> result = null; * string action = "GetMyTeams"; * //PaginationModel<ChatTeamViewModel> currentMessages = new PaginationModel<ChatTeamViewModel>(); * try * { * PaginationModel<ChatTeamViewModel> teams = await TTXTeamRepository<ChatTeamViewModel>.Instance.GetModelListByAsync( * t => t.TTX_Team_Member.Count(m => m.MemberId == request.UserId && m.Status == (int)MemberStatus.Membered) > 0, * t => t.CreatedDate, "desc", request.PageIndex, request.PageSize * ); * result = new MessengerHubResponse<PaginationModel<ChatTeamViewModel>>() * { * status = 1, * responseKey = string.Format("{0}", action), * data = teams, * errors = null * }; * } * catch (Exception ex) * { * result = new MessengerHubResponse<PaginationModel<ChatTeamViewModel>>() * { * status = 0, * responseKey = action, * data = null, * error = ex.StackTrace * }; * } * finally * { * Clients.Caller.receiveMessage(result); * UpdatePlayerConnectionIdAsync(request.UserId); * } * } * * [HubMethodName("removeTeam")] * public async System.Threading.Tasks.Task RemoveTeam(ApiGetTeamMemberViewMdoel request) * { * string errorMsg = string.Empty; * int status = 0; * MessengerHubResponse<bool> result = null; * string action = Enum.GetName(typeof(TeamMessageReponseKey), TeamMessageReponseKey.RemovedTeam); * //PaginationModel<ChatTeamViewModel> currentMessages = new PaginationModel<ChatTeamViewModel>(); * try * { * if (TTXTeamMemberRepository<FETeamMemberViewModel>.Instance.CheckIsExists(m => m.TeamId == request.TeamId && m.MemberId == request.UserId && m.Status == (int)MemberStatus.Membered)) * { * var removeResult = await TTXTeamRepository<ChatTeamViewModel>.Instance.RemoveModelAsync(t => t.Id == request.TeamId); * * if (removeResult.IsSucceed) * { * result = new MessengerHubResponse<bool>() * { * status = 1, * responseKey = string.Format("{0}", action), * data = removeResult.IsSucceed, * errors = null * }; * } * else * { * result = new MessengerHubResponse<bool>() * { * status = 0, * responseKey = TeamMessageReponseKey.NotMembered.ToString(), * data = false, * errors = null * }; * } * } * else * { * result = new MessengerHubResponse<bool>() * { * status = 0, * responseKey = GameResponseKey.NotAuthorized.ToString(), * data = false, * errors = new List<string>() { "You are not membered of this team" } * }; * Clients.Caller.receiveMessage(result); * } * } * catch (Exception ex) * { * result = new MessengerHubResponse<bool>() * { * status = 0, * responseKey = string.Format("{0}", action), * data = false, * error = ex.StackTrace * }; * } * finally * { * Clients.Caller.receiveMessage(result); * UpdatePlayerConnectionIdAsync(request.UserId); * } * } */ #endregion Team - TODO Write these functions #region Overrides public override async Task OnConnectedAsync() { await Groups.AddToGroupAsync(Context.ConnectionId, defaultRoom); await base.OnConnectedAsync(); }
public async System.Threading.Tasks.Task JoinGroup(string group, string user) { await Groups.AddToGroupAsync(Context.ConnectionId, group); await Clients.Group(group).SendAsync("ReceiveJoinGroup", user, await GetUsername(user)); }
public async Task AddToGroup(string groupName) { await Groups.AddToGroupAsync(Context.ConnectionId, groupName); await Clients.Group(groupName).SendAsync("Send", $"{GetUsername()} has joined the group"); }
public async Task AssociateJob(string jobId) { await Groups.AddToGroupAsync(Context.ConnectionId, jobId); }
public async Task JoinRoom(string room) { await Groups.AddToGroupAsync(Context.ConnectionId, room); }
public async Task Subscribe(string taskId) { await Groups.AddToGroupAsync(Context.ConnectionId, GetGroup(taskId)); }
public async Task JoinGroup([SignalRTrigger] InvocationContext invocationContext, string connectionId, string groupName) { await Groups.AddToGroupAsync(connectionId, groupName); }
/// <summary> /// 加入分组 /// </summary> /// <param name="groupName"></param> /// <returns></returns> public async Task AddToGroupAsync(string groupName) { await Groups.AddToGroupAsync(this.Context.ConnectionId, groupName); }
/* * Bildirilen / nezerde tutulan client-la elaqe qurur. */ //public Task SendMessageAsync(IEnumerable<string> connectionIds, string message) //{ // return Clients.Client(connectionIds.First()).ReceiveMessage(message); //} #endregion #region Clients /* * Bildirilen / nezerde tutulan client-larla elaqe qurur. */ #endregion #region Group /* * Group-a subscribe olan butun clientlarla elaqe qurur yeni qrup daxili, * oncelikle mueyyen qruplar yaradilmalidir sonra client-lar o qruplara subscribe olmalidir. */ /* * Ilk once istifadecinin secdiyi group hub yonlendirilir varsa hemin groupa subscribe * olur yoxdursa hemin group yaradilir subscribe olur */ public async Task AddGroup(string connectionID, string groupName) { await Groups.AddToGroupAsync(connectionID, groupName); }
public Task JoinAuthGroup() { return(Groups.AddToGroupAsync(Context.ConnectionId, "AuthGroup")); }
public async Task JoinWorkspacesAdmin() { await Groups.AddToGroupAsync(Context.ConnectionId, nameof(HubGroups.WorkspacesAdmin)); }
public override async Task OnConnectedAsync() { await Groups.AddToGroupAsync(Context.ConnectionId, "SignalR Users").ConfigureAwait(true); await base.OnConnectedAsync().ConfigureAwait(false); }
// public async Task AddToGroup(string groupName, string user) { await Groups.AddToGroupAsync(Context.ConnectionId, groupName); await Clients.Group(groupName).SendAsync("Entered", user); }
public async Task SendChangeRoom(string roomDisconnect, string roomConnect) { await Groups.RemoveFromGroupAsync(Context.ConnectionId, roomDisconnect); await Groups.AddToGroupAsync(Context.ConnectionId, roomConnect); }
public async Task RegisterHelpdeskClient() { await Groups.AddToGroupAsync(Context.ConnectionId, "HelpdeskClients"); await Clients.Caller.SendAsync("ClientListUpdate", ConnectedClients); }
public override Task OnConnectedAsync() { Console.WriteLine($"{Context.ConnectionId} connected"); Groups.AddToGroupAsync(Context.ConnectionId, "principal"); return(base.OnConnectedAsync()); }
public async Task <string> ConnectToShoppingGroup(Guid groupName) { await Groups.AddToGroupAsync(Context.ConnectionId, groupName.ToString()); return("ConnectToShoppingGroup"); }
public Task JoinGameGroup(int gameId) { return(Groups.AddToGroupAsync(Context.ConnectionId, "Game" + gameId.ToString())); }
Task AddToGroupAsync(string sessionId) { return(Groups.AddToGroupAsync(Context.ConnectionId, sessionId)); }
public async Task <string> JoinGame(int gameId) { await Groups.AddToGroupAsync(Context.ConnectionId, gameId.ToString()); return(Context.ConnectionId); }
public Task JoinRoom(string chatroomId) { return(Groups.AddToGroupAsync(Context.ConnectionId, chatroomId)); }
public async Task JoinProject(Guid projectId) { await Groups.AddToGroupAsync(Context.ConnectionId, projectId.ToString()); }
public async Task JoinGroup(string groupName) { await Groups.AddToGroupAsync(Context.ConnectionId, groupName); await Clients.Client(Context.ConnectionId).SendAsync(ClientSyncConstants.JoinedGroup); }
public async Task JoinWorkspace(Guid workspaceId) { await Groups.AddToGroupAsync(Context.ConnectionId, workspaceId.ToString()); }
public Task GroupAddMethod(string groupName) { return(Groups.AddToGroupAsync(Context.ConnectionId, groupName)); }
public async Task CreateRoom(string roomName) { chatRoom.Add(roomName); await Groups.AddToGroupAsync(Context.ConnectionId, roomName); }