当前位置: 首页>>代码示例>>C#>>正文


C# ChatService.LockRoom方法代码示例

本文整理汇总了C#中JabbR.Services.ChatService.LockRoom方法的典型用法代码示例。如果您正苦于以下问题:C# ChatService.LockRoom方法的具体用法?C# ChatService.LockRoom怎么用?C# ChatService.LockRoom使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在JabbR.Services.ChatService的用法示例。


在下文中一共展示了ChatService.LockRoom方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: MakesAllUsersAllowed

            public void MakesAllUsersAllowed()
            {
                var repository = new InMemoryRepository();
                var creator = new ChatUser
                {
                    Name = "foo"
                };
                var users = Enumerable.Range(0, 5).Select(i => new ChatUser
                {
                    Name = "user_" + i
                }).ToList();

                var offlineUsers = Enumerable.Range(6, 10).Select(i => new ChatUser
                {
                    Name = "user_" + i,
                    Status = (int)UserStatus.Offline
                }).ToList();

                var room = new ChatRoom
                {
                    Name = "room",
                    Creator = creator
                };
                room.Owners.Add(creator);
                creator.OwnedRooms.Add(room);
                repository.Add(room);
                foreach (var u in users)
                {
                    room.Users.Add(u);
                    u.Rooms.Add(room);
                    repository.Add(u);
                }
                foreach (var u in offlineUsers)
                {
                    room.Users.Add(u);
                    u.Rooms.Add(room);
                    repository.Add(u);
                }
                var service = new ChatService(repository, new Mock<ICryptoService>().Object);

                service.LockRoom(creator, room);

                foreach (var u in users)
                {
                    Assert.True(u.AllowedRooms.Contains(room));
                    Assert.True(room.AllowedUsers.Contains(u));
                }

                foreach (var u in offlineUsers)
                {
                    Assert.False(u.AllowedRooms.Contains(room));
                    Assert.False(room.AllowedUsers.Contains(u));
                }
            }
开发者ID:Polows,项目名称:JabbR,代码行数:54,代码来源:ChatServiceFacts.cs

示例2: ThrowsIfRoomAlreadyLocked

            public void ThrowsIfRoomAlreadyLocked()
            {
                var repository = new InMemoryRepository();
                var user = new ChatUser
                {
                    Name = "foo"
                };
                repository.Add(user);
                var room = new ChatRoom
                {
                    Name = "Room",
                    Creator = user,
                    Private = true
                };
                room.Owners.Add(user);
                user.OwnedRooms.Add(room);
                room.AllowedUsers.Add(user);
                user.AllowedRooms.Add(room);
                user.Rooms.Add(room);
                room.Users.Add(user);

                var service = new ChatService(repository, new Mock<ICryptoService>().Object);

                Assert.Throws<InvalidOperationException>(() => service.LockRoom(user, room));
            }
开发者ID:Polows,项目名称:JabbR,代码行数:25,代码来源:ChatServiceFacts.cs

示例3: LocksRoomIfOwner

            public void LocksRoomIfOwner()
            {
                var repository = new InMemoryRepository();
                var user = new ChatUser
                {
                    Name = "foo"
                };
                repository.Add(user);
                var room = new ChatRoom
                {
                    Name = "Room"
                };
                room.Users.Add(user);
                room.Owners.Add(user);
                user.OwnedRooms.Add(room);
                user.Rooms.Add(room);

                var service = new ChatService(repository, new Mock<ICryptoService>().Object);

                service.LockRoom(user, room);

                Assert.True(room.Private);
                Assert.True(user.AllowedRooms.Contains(room));
                Assert.True(room.AllowedUsers.Contains(user));
            }
开发者ID:Polows,项目名称:JabbR,代码行数:25,代码来源:ChatServiceFacts.cs

示例4: LocksRoomIfAdmin

            public void LocksRoomIfAdmin()
            {
                var repository = new InMemoryRepository();
                var admin = new ChatUser
                {
                    Name = "foo",
                    IsAdmin = true
                };
                repository.Add(admin);
                var room = new ChatRoom
                {
                    Name = "Room"
                };
                room.Users.Add(admin);
                admin.Rooms.Add(room);

                var service = new ChatService(new Mock<ICache>().Object, repository);

                service.LockRoom(admin, room);

                Assert.True(room.Private);
                Assert.True(admin.AllowedRooms.Contains(room));
                Assert.True(room.AllowedUsers.Contains(admin));
            }
开发者ID:QuickenLoans,项目名称:JabbR,代码行数:24,代码来源:ChatServiceFacts.cs

示例5: ThrowsIfUserIsOwner

            public void ThrowsIfUserIsOwner()
            {
                var repository = new InMemoryRepository();
                var user = new ChatUser
                {
                    Name = "foo"
                };
                repository.Add(user);
                var room = new ChatRoom
                {
                    Name = "Room"
                };
                room.Users.Add(user);
                room.Owners.Add(user);
                user.OwnedRooms.Add(room);
                user.Rooms.Add(room);

                var service = new ChatService(repository, new Mock<ICryptoService>().Object);

                Assert.Throws<InvalidOperationException>(() => service.LockRoom(user, room));
            }
开发者ID:khaledm,项目名称:JabbR,代码行数:21,代码来源:ChatServiceFacts.cs

示例6: LocksRoom

            public void LocksRoom()
            {
                var repository = new InMemoryRepository();
                var user = new ChatUser
                {
                    Name = "foo"
                };
                repository.Add(user);
                var room = new ChatRoom
                {
                    Name = "Room",
                    Creator = user
                };
                room.Owners.Add(user);
                user.OwnedRooms.Add(room);
                user.Rooms.Add(room);
                room.Users.Add(user);

                var service = new ChatService(new Mock<ICache>().Object, new Mock<IRecentMessageCache>().Object, repository);

                service.LockRoom(user, room);

                Assert.True(room.Private);
                Assert.True(user.AllowedRooms.Contains(room));
                Assert.True(room.AllowedUsers.Contains(user));
            }
开发者ID:QuinntyneBrown,项目名称:JabbR,代码行数:26,代码来源:ChatServiceFacts.cs

示例7: ThrowsIfRoomAlreadyLocked

            public void ThrowsIfRoomAlreadyLocked()
            {
                var repository = new InMemoryRepository();
                var user = new ChatUser
                {
                    Name = "foo"
                };
                repository.Add(user);
                var room = new ChatRoom
                {
                    Name = "Room",
                    Creator = user,
                    Private = true
                };
                room.Owners.Add(user);
                user.OwnedRooms.Add(room);
                room.AllowedUsers.Add(user);
                user.AllowedRooms.Add(room);
                user.Rooms.Add(room);
                room.Users.Add(user);

                var service = new ChatService(new Mock<ICache>().Object, new Mock<IRecentMessageCache>().Object, repository);

                Assert.Throws<HubException>(() => service.LockRoom(user, room));
            }
开发者ID:QuinntyneBrown,项目名称:JabbR,代码行数:25,代码来源:ChatServiceFacts.cs


注:本文中的JabbR.Services.ChatService.LockRoom方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。