Exemple #1
0
        public async Task JoinGroup(Group NewGroup)
        {
            string SessionToken = connectedUsers[Context.ConnectionId].SessionToken;

            if (SessionToken != null && connectedUsers.ContainsKey(Context.ConnectionId))
            {
                (ListOf_DBResult flag, Group group) = await HoloData.JoinGroup(SessionToken, new Group()
                {
                    Name = NewGroup.Name, ConnectionId = NewGroup.ConnectionId
                });

                if (flag == ListOf_DBResult.Success)
                {
                    UpdateModel updateModel = new UpdateModel();
                    updateModel.AddGroup(group);
                    IEnumerable <string> playerTokens = group.Permissions.Select(x => x.User.SessionToken);
                    ClientUpdates.SendUpdate(connectedUsers.Where(x => playerTokens.Contains(x.Value.SessionToken)).Select(x => Clients.Client(x.Key)).ToList(), flag, updateModel);
                }
                else
                {
                    ClientUpdates.SendUpdate(connectedUsers.Where(x => x.Value.SessionToken == SessionToken).Select(x => Clients.Client(x.Key)).ToList(), flag);
                }
            }
        }