public async Task RemoveWaitingRoomItem(ChatHubWaitingRoomItem waitingRoomItem) { ChatHubUser user = await this.GetChatHubUserAsync(); ChatHubUser targetUser = await this.chatHubRepository.GetUserByIdAsync(waitingRoomItem.UserId); await Clients.Clients(targetUser.Connections.Active().Select(item => item.ConnectionId)).SendAsync("RemovedWaitingRoomItem", waitingRoomItem); }
public void RemoveWaitingRoomItem_Clicked(ChatHubWaitingRoomItem waitingRoomItem) { this.AddWhitelistUser_Clicked(waitingRoomItem.UserId, waitingRoomItem.RoomId); this.Connection.InvokeAsync("RemoveWaitingRoomItem", waitingRoomItem).ContinueWith((task) => { if (task.IsCompleted) { this.HandleException(task); } }); this.Rooms.FirstOrDefault(item => item.Id == waitingRoomItem.RoomId).WaitingRoomItems.Remove(waitingRoomItem); this.RunUpdateUI(); }
private async Task AddWaitingRoomItem(ChatHubUser user, ChatHubRoom room) { var chatHubWaitingRoomItem = new ChatHubWaitingRoomItem() { Guid = Guid.NewGuid(), RoomId = room.Id, UserId = user.UserId, DisplayName = user.DisplayName }; var roomCreator = await this.chatHubRepository.GetUserByIdAsync(room.CreatorId); foreach (var connection in roomCreator.Connections.Active()) { await Clients.Client(connection.ConnectionId).SendAsync("AddWaitingRoomItem", chatHubWaitingRoomItem); } }
private async void OnRemovedChathubWaitingRoomItemExecute(object sender, ChatHubWaitingRoomItem e) { var room = await this.GetChatHubRoomAsync(e.RoomId, this.ModuleId); this.BlazorAlertsService.NewBlazorAlert($"You have been granted access to the room named {room.Title}. Do you like to enter??", "Javascript Application", PositionType.Fixed, true, e.RoomId.ToString()); }
private void OnAddChatHubWaitingRoomItemExecute(object sender, ChatHubWaitingRoomItem e) { this.Rooms.FirstOrDefault(item => item.Id == e.RoomId).WaitingRoomItems.Add(e); }
public static void AddWaitingRoomItem(this List <ChatHubWaitingRoomItem> waitingRoomItems, ChatHubWaitingRoomItem waitingRoomItem) { if (!waitingRoomItems.Any(item => item.Guid == waitingRoomItem.Guid)) { waitingRoomItems.Add(waitingRoomItem); } }