public void Post(PlaylistDetailsDTO value) //needs to be modified!!!!!!!!
        {
            Playlist model = new Playlist()
            {
                name = value.name,
            };

            iPlaylistRepository.Create(model);
            for (int i = 0; i < value.moods.Count; i++)
            {
                PlaylistMood playlistMood = new PlaylistMood()
                {
                    playlistId = model.id,
                    moodId     = value.moods[i].id
                };
                iPlaylistMoodRepository.Create(playlistMood);
            }

            for (int i = 0; i < value.songs.Count; i++)
            {
                SongPlaylist songPlaylist = new SongPlaylist()
                {
                    playlistId = model.id,
                    songId     = value.songs[i].id
                };
                iSongPlaylistRepository.Create(songPlaylist);
            }


            iPlaylistRepository.Create(model);
        }
        public void Put(int id, PlaylistDetailsDTO value) //needs to be modified
        {
            Playlist model = iPlaylistRepository.Get(id);

            if (value.name != null)
            {
                model.name = value.name;
            }

            if (value.moods != null)
            {
                foreach (Mood mood in value.moods)
                {
                    if (iMoodRepository.Get(mood.id) == null)
                    {
                        iMoodRepository.Update(mood);
                    }
                    PlaylistMood newPlaylistMood = new PlaylistMood()
                    {
                        moodId = mood.id,
                    };
                    iPlaylistMoodRepository.Update(newPlaylistMood);
                }
            }

            if (value.songs != null)
            {
                foreach (Song song in value.songs)
                {
                    if (iSongRepository.Get(song.id) == null)
                    {
                        iSongRepository.Update(song);
                    }
                    SongPlaylist newSongPlaylist = new SongPlaylist()
                    {
                        songId = song.id
                    };
                    iSongPlaylistRepository.Update(newSongPlaylist);
                }
            }

            iPlaylistRepository.Update(model);
        }
        public PlaylistDetailsDTO Get(int id)
        {
            Playlist           playlist   = iPlaylistRepository.Get(id);
            PlaylistDetailsDTO myPlaylist = new PlaylistDetailsDTO()
            {
                name = playlist.name,
            };

            IEnumerable <SongPlaylist> mySongsPlaylist = iSongPlaylistRepository.GetAll().Where(x => x.playlistId == playlist.id);
            IEnumerable <PlaylistMood> myPlaylistMoods = iPlaylistMoodRepository.GetAll().Where(x => x.playlistId == playlist.id);

            //moods
            if (myPlaylistMoods != null)
            {
                List <Mood> moodsList = new List <Mood>();
                foreach (PlaylistMood playlistMood in myPlaylistMoods)
                {
                    Mood mood = iMoodRepository.GetAll().SingleOrDefault(x => x.id == playlistMood.moodId);
                    moodsList.Add(mood);
                }
                myPlaylist.moods = moodsList;
            }


            if (mySongsPlaylist != null)
            {
                List <Song> songsList = new List <Song>();
                foreach (SongPlaylist songPlaylist in mySongsPlaylist)
                {
                    Song song = iSongRepository.GetAll().SingleOrDefault(x => x.id == songPlaylist.songId);
                    songsList.Add(song);
                }
                myPlaylist.songs = songsList;
            }

            return(myPlaylist);
        }