コード例 #1
0
        public IActionResult Add(Group _group, string View = "")
        {
            var _user = HttpContext.Session.GetSession <User>("User");

            _groupManager.Add(_group);
            _eventManager.Add(new Event
            {
                User        = _user,
                View        = View == "on" ? true:false,
                Url         = $"{_group.ID}/group-detail",
                ProductID   = _group.ID,
                ProductName = _group.Name,
                Type        = Product.Group,
                Explation   = "New group added"
            });

            _userGroupManager.Add(new UserGroup {
                Group = _group, User = _user, CreateDate = DateTime.Now, Status = Status.Owner
            });

            TempData["message"] = HelperMethods.ObjectConvertJson(new TempDataModel {
                type = "success", message = _localizer["Transaction successful"]
            });

            return(Redirect(TempData["BeforeUrl"].ToString()));
        }
コード例 #2
0
        public void StartNotifications <TEntity>(string connectionId, IDictionary <string, object> properties) where TEntity : class
        {
            var groupName = NotificationGroupManager.GetGroupNameForEntityProperties <TEntity>(properties);

            Debug.WriteLine("Adding connection {0} to notification group {1}.", connectionId, groupName);

            _groupManager.Add(connectionId, groupName);
        }
コード例 #3
0
 public async Task AddToGroup(IGroupManager groupManager, string group, string connection)
 {
     await groupManager.Add(connection, group);
     if (!_groupMembershipTracker.ContainsKey(group))
     {
         _groupMembershipTracker[group] = new HashSet<string>();
     }
     _groupMembershipTracker[group].Add(connection);
 }
コード例 #4
0
        public async Task AddToGroup(IGroupManager groupManager, string group, string connection)
        {
            await groupManager.Add(connection, group);

            if (!_groupMembershipTracker.ContainsKey(group))
            {
                _groupMembershipTracker[group] = new HashSet <string>();
            }
            _groupMembershipTracker[group].Add(connection);
        }
コード例 #5
0
        public static void EnterRoom(IGroupManager groups, string conn_id, string room)
        {
            purge(groups);

            groupDict.AddOrUpdate(conn_id, c_id =>
            {
                groups.Add(c_id, room);
                return(new GroupInfo(room));
            }, (c_id, info) =>
            {
                if (info.Room != room)
                {
                    groups.Remove(c_id, info.Room);

                    groups.Add(c_id, room);
                }
                info.Refresh(room);

                return(info);
            });
        }
コード例 #6
0
ファイル: SignalXExtensions.cs プロジェクト: signalx/dev
        internal static void JoinGroup(
            this SignalX signalX,
            string correlationId,
            HubCallerContext context,
            IHubCallerConnectionContext <dynamic> clients,
            IGroupManager groups,
            string groupName)
        {
            signalX.Advanced.Trace(correlationId, $"User {context?.ConnectionId} is joining group {groupName}...");

            groups.Add(context?.ConnectionId, groupName);
            signalX.Settings.ConnectionEventsHandler.ForEach(h => h?.Invoke(ConnectionEvents.SignalXGroupJoin.ToString(), groupName));

            signalX.Receiver.ReceiveInGroupManager(correlationId, "join", context?.ConnectionId, groupName, context, clients, groups);
        }
コード例 #7
0
        public Game CreateGame(Player player1, Player player2)
        {
            var game = new Game()
            {
                Player1 = player1,
                Player2 = player2,
                Board   = new Board()
            };

            var group = Guid.NewGuid().ToString("d");

            _games[group] = game;

            player1.IsPlaying = true;
            player1.Group     = group;

            player2.IsPlaying = true;
            player2.Group     = group;

            Groups.Add(player1.ConnectionId, group);
            Groups.Add(player2.ConnectionId, group);

            return(game);
        }