Exemplo n.º 1
0
        async Task ExecuteLoadRoomsCommand()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            try
            {
                Rooms.Clear();
                var rooms = await RoomDataStore.GetMembersAsync(true);

                foreach (var room in rooms)
                {
                    Rooms.Add(room);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }
Exemplo n.º 2
0
        public async Task <Room> AddVoteToSong(int roomId, int songId)
        {
            var roomDataStore = new RoomDataStore(_playlistContext);
            var token         = Request.Headers["Authorization"].ToString().Replace("Bearer ", "");

            return(await roomDataStore.AddVoteToSong(token, roomId, songId, 1));
        }
        public async Task <Room> RemoveSongFromRoom(int songId, int roomId)
        {
            var roomDataStore = new RoomDataStore(_playlistContext);
            await roomDataStore.RemoveSongFromRoom(songId, roomId);

            return(await roomDataStore.GetItemAsync(roomId.ToString()));
        }
Exemplo n.º 4
0
        public async Task GetItemAsync_GivenRoomId_ReturnRoom()
        {
            var roomDataStore = new RoomDataStore(_playlistContext);

            var room = await roomDataStore.GetItemAsync("1");

            Assert.IsNotNull(room);
        }
        public async Task <Room> AddSongToRoom(int roomId, [FromBody] Song songToAdd)
        {
            var roomDataStore      = new RoomDataStore(_playlistContext);
            var token              = Request.Headers["Authorization"].ToString().Replace("Bearer ", "");
            var usernameAddingSong = new TokenService(_playlistContext, _config).GetNameFromToken(token);

            return(await roomDataStore.AddSongToRoomAsync(usernameAddingSong, roomId.ToString(), songToAdd));
        }
 public RoomController(IConfiguration config, PlaylistContext playlistContext, IHubContext <RoomHub> roomHub)
 {
     _roomDataStore         = new RoomDataStore(playlistContext);
     _tokenService          = new TokenService(playlistContext, config);
     _spotifyPlaylistsStore = new SpotifyPlaylistsStore(playlistContext);
     _config  = config;
     _roomHub = roomHub;
 }
Exemplo n.º 7
0
        public async Task DeleteItemAsync_GivenRoomID_ReturnBool()
        {
            var roomdatastore = new RoomDataStore(_playlistContext);

            Assert.IsNotNull(roomdatastore.GetItemAsync("1"));

            Assert.IsTrue(await roomdatastore.DeleteItemAsync("1"));

            await Assert.ThrowsExceptionAsync <ArgumentException>(async() => await roomdatastore.GetItemAsync("1"));
        }
Exemplo n.º 8
0
        public async Task AddSongToRoomAsync_GivenRoomIDAndSong_ReturnRoomWithSong()
        {
            var roomdatastore = new RoomDataStore(_playlistContext);

            Assert.AreEqual(0, (await roomdatastore.GetItemAsync("2")).RoomSongs.Count);

            var room = await roomdatastore.AddSongToRoomAsync(_token, "2", _songs[0]);

            Assert.IsNotNull(room);
            Assert.AreEqual(1, room.RoomSongs.Count);
            Assert.AreEqual(1, (await roomdatastore.GetItemAsync("2")).RoomSongs.Count);
        }
Exemplo n.º 9
0
        public async Task AddSpotifyAuthCodeToRoomAsync_GivenRoomIdAndAuthString_ReturnRoomWithAuthCode()
        {
            var roomdatastore     = new RoomDataStore(_playlistContext);
            var spotifyAuthstring = "aux6wxzz0917hy";

            await roomdatastore.AddSpotifyAuthCodeToRoomAsync("1", spotifyAuthstring);

            var room = await roomdatastore.GetItemAsync("1");

            Assert.AreEqual(spotifyAuthstring, room.SpotifyPlaylist.AuthCode);
            Assert.IsTrue(room.IsSpotifyEnabled);
        }
Exemplo n.º 10
0
        public async Task AddItemAsync_GivenRoomObject_ReturnCreatedRoom()
        {
            var roomdatastore = new RoomDataStore(_playlistContext);

            var room = new Room()
            {
                Name = "Test Room", Owner = "Test Owner"
            };
            var returnedRoom = await roomdatastore.AddItemAsync(room, _token);

            Assert.IsNotNull(returnedRoom);
            Assert.AreEqual("Test Room", returnedRoom.Name);
        }
        public async Task <Room> CreateRoom(string roomName)
        {
            var roomDataStore = new RoomDataStore(_playlistContext);
            var token         = Request.Headers["Authorization"].ToString().Replace("Bearer ", "");
            var room          = new Room()
            {
                Name             = roomName,
                Owner            = new TokenService(_playlistContext, _config).GetNameFromToken(token),
                IsSpotifyEnabled = false,
            };

            return(await roomDataStore.AddItemAsync(room, token));
        }
Exemplo n.º 12
0
        public RoomsViewModel()
        {
            Title            = "Browse";
            Rooms            = new ObservableCollection <Room>();
            LoadRoomsCommand = new Command(async() => await ExecuteLoadRoomsCommand());

            MessagingCenter.Subscribe <NewRoomPage, Room>(this, "AddRoom", async(obj, room) =>
            {
                var _room = room as Room;
                Rooms.Add(_room);
                await RoomDataStore.AddMemberAsync(_room);
            });
        }
Exemplo n.º 13
0
        public async Task AddVoteToSong_GivenRoomIDSongIDAndVote_ReturnRoomwithSong()
        {
            var roomdatastore = new RoomDataStore(_playlistContext);

            Assert.AreEqual(0, (await roomdatastore.GetItemAsync("1")).RoomSongs[1].SongRating);

            var room = await roomdatastore.AddVoteToSong(_token, 1, 1, 1);

            Assert.IsNotNull(room);
            Assert.AreEqual(1, room.RoomSongs[0].SongRating);
            await Assert.ThrowsExceptionAsync <ArgumentException>(async() => await roomdatastore.AddVoteToSong(_token, 1, 1, 2));

            await Assert.ThrowsExceptionAsync <ArgumentException>(async() => await roomdatastore.AddVoteToSong(_token, 1, 1, -2));

            await Assert.ThrowsExceptionAsync <ArgumentException>(async() => await roomdatastore.AddVoteToSong(null, 1, 1, 1));
        }
        public async Task AddSongToRoomAsync_GivenRoomIDAndSong_ReturnRoomWithSong()
        {
            var roomdatastore = new RoomDataStore(_playlistContext);

            var song = new Song()
            {
                Name = "Test Song", Id = 0, Artist = "Swaylo", SpotifyId = "1"
            };

            Assert.AreEqual(0, (await roomdatastore.GetItemAsync("1")).RoomSongs.Count);

            var room = await roomdatastore.AddSongToRoomAsync(_token, "1", song);

            Assert.IsNotNull(room);
            Assert.AreEqual(1, room.RoomSongs.Count);
            Assert.AreEqual(1, (await roomdatastore.GetItemAsync("1")).RoomSongs.Count);
        }
Exemplo n.º 15
0
        public async Task GetItemAsync_GivenInvalidRoomId_ReturnException()
        {
            var roomDataStore = new RoomDataStore(_playlistContext);

            await Assert.ThrowsExceptionAsync <ArgumentException>(async() => await roomDataStore.GetItemAsync("0"));
        }
Exemplo n.º 16
0
        public async Task <Room> GetRoom(int roomId)
        {
            var roomDataStore = new RoomDataStore(_playlistContext);

            return(await roomDataStore.GetItemAsync(roomId.ToString()));
        }