Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 3
0
        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);
     }
 }