Пример #1
0
        public void Get()
        {
            var expected = DtoConverters.GetRoomDto(rooms.TestRoom1);
            var actual   = roomService.Get(1, TestOwner);

            Assert.AreEqual(expected, actual);
        }
Пример #2
0
        /// <summary>
        /// Показывает комнату, если пользователь вошел в нее.
        /// </summary>
        /// <param name="id">ИД комнаты.</param>
        /// <param name="loggedUser">Залогиненный пользователь.</param>
        /// <returns>ДТО комнаты.</returns>
        public RoomDto Get(long id, string loggedUser)
        {
            var room = this.roomRepository.Get(id);

            if (room.Users.Select(u => u.Name).Contains(loggedUser))
            {
                //this.AddConnectionIdToGroup(loggedUser, room.Id).Wait();
                //this.SendUpdateRoomToClients(room, "UpdateUsersInRoom").Wait();
                return(DtoConverters.GetRoomDto(room));
            }

            throw new AccessViolationException("Сначала нужно войти в комнату");
        }
Пример #3
0
        public void Create()
        {
            roomService.Create(TestOwner, "pass", "RoomToInsert", "10", "1");
            var expectedMethod = "UpdateRooms";
            var actualMethod   = InvokedSignalRMethod;

            Assert.AreEqual(expectedMethod, actualMethod);

            var expected = DtoConverters.GetRoomDto(rooms.RoomToInsert);
            var actual   = roomService.Get(2, TestOwner);

            Assert.AreEqual(expected, actual);
        }
Пример #4
0
        /// <summary>
        /// Добавляет пользователя в комнату и показывает комнату.
        /// </summary>
        /// <param name="id">ИД комнаты.</param>
        /// <param name="loggedUser">Имя пользователя.</param>
        /// <param name="password">Пароль к комнате.</param>
        /// <returns>ДТО комнаты.</returns>
        public RoomDto AddUserToRoomAndGet(long id, string loggedUser, string password)
        {
            var room = this.roomRepository.Get(id);
            var user = this.GetUserByName(loggedUser);

            if (room.Password == password)
            {
                if (!room.Users.Contains(user))
                {
                    this.AddUserToRoom(user, room);
                    this.SendUpdateRoomToClients(room, "UpdateUsersInRoom").Wait();
                }
                //this.AddConnectionIdToGroup(loggedUser, room.Id).Wait();
                return(DtoConverters.GetRoomDto(this.roomRepository.Get(room.Id)));
            }

            throw new AccessViolationException("Неверный пароль к комнате");
        }