Ejemplo n.º 1
0
 private void OnSongListChanged()
 {
     if (SongListViewModel != null)
     {
         SongListViewModel.InitialSongList(SongList);
     }
 }
        public IActionResult DetailAlbum(int id)
        {
            Album albumfromDb = _applicationDbContext.Albums
                                .Include(x => x.AlbumSongs)
                                .SingleOrDefault(x => x.Id == id);

            List <SongListViewModel> addSongs = new List <SongListViewModel>();

            foreach (var song in albumfromDb.AlbumSongs)
            {
                var newSongToAlbum = new SongListViewModel()
                {
                    Title   = song.Titel,
                    Artist  = song.Artist,
                    Release = song.Release,
                    Id      = song.Id
                };
                addSongs.Add(newSongToAlbum);
            }

            DetailAlbumViewModel albumDetail = new DetailAlbumViewModel()
            {
                Id                = albumfromDb.Id,
                Cover             = albumfromDb.Cover,
                Title             = albumfromDb.Titel,
                SongsToAddToAlbum = addSongs,
            };


            return(View(albumDetail));
        }
 public LocalSongListActions(SongListViewModel viewModel)
 {
     fileManager = new FirebaseStorageFileManager();
     fileManager.OnFileDownloaded += FileManager_OnFileDownloaded;
     audioPlayer    = DependencyService.Get <IAudioPlayer>();
     hud            = DependencyService.Get <IHud>();
     this.viewModel = viewModel;
 }
Ejemplo n.º 4
0
 public SongListPage()
 {
     InitializeComponent();
     viewModel         = new SongListViewModel();
     remotePlayActions = new RemoteSongListActions(viewModel);
     localPlayActions  = new LocalSongListActions(viewModel);
     ConfigureSongList();
 }
Ejemplo n.º 5
0
        public MainViewModel()
        {
            SongListViewModel  = new SongListViewModel(this);
            PlayListViewModel  = new PlayListViewModel(this);
            TagsPanelViewModel = new TagsPanelViewModel(this);
            ControlViewModel   = new ControlViewModel(this);

            SongList = SongListModel.Instance.GetSongsDb();
            PlayList = PlayListModel.Instance.LoadSongs(SongList);

            SelectTagsCommand = new DelegateCommand <Button>(OnSelectTags);
            ClosingCommand    = new DelegateCommand(OnClosing);
        }
Ejemplo n.º 6
0
        public void LoadSongList()
        {
            var paths = SongListOperator.Instance.LoadDirectorySongList();

            SongList.Clear();
            for (int i = 0; i < paths.Count; i++)
            {
                Song song = new Song(paths[i]);
                SongList.Add(song);
                if (i % 10 == 0)
                {
                    SongListViewModel.InitialSongList(SongList);
                }
            }
        }
Ejemplo n.º 7
0
        public async Task <ActionResult> Index(SongListViewModel model)
        {
            model.Filter.PageSize         = PageSize;
            model.Filter.AlbumIds         = ProcessAlbumIds(model);
            Session[FilterSessionKey]     = model.Filter;
            Session[AlbumTreesSessionKey] = model.Albums;

            //TODO: This is soo much inefficient, why and how could we solve this?
            var allSongs = await SongFacade.GetSongsAsync(new SongFilterDto());

            var result = await SongFacade.GetSongsAsync(model.Filter);

            var newModel = await InitializeSongListViewModel(result, (int)allSongs.TotalItemsCount, model.Albums);

            return(View("SongListView", newModel));
        }
Ejemplo n.º 8
0
        private static Guid[] ProcessAlbumIds(SongListViewModel model)
        {
            var selectedAlbumIds = new List <Guid>();

            foreach (var song in model.Songs)
            {
                foreach (var album in model.Albums)
                {
                    if (song.AlbumId == album.Id)
                    {
                        selectedAlbumIds.Add(album.Id);
                    }
                }
            }
            return(selectedAlbumIds.ToArray());
        }
Ejemplo n.º 9
0
        public IActionResult SongsTable()
        {
            SongListViewModel songViewModel = null;

            try
            {
                songViewModel = new SongListViewModel()
                {
                    SongViews = songService.GetAllSongs()
                };
            }
            catch (Exception e)
            {
            }

            return(PartialView("_SongsTable", songViewModel));
        }
Ejemplo n.º 10
0
        public IActionResult SongsTableGenre(string genre)
        {
            SongListViewModel songViewModel = null;

            try
            {
                songViewModel = new SongListViewModel()
                {
                    SongViews = songService.GetSongsByGenre(genre)
                };
            }
            catch (Exception e)
            {
            }

            return(View("_SongsTable", songViewModel));
        }
Ejemplo n.º 11
0
        public IActionResult Index()
        {
            SongListViewModel model = new SongListViewModel();

            model.Songs = from s in context.Song
                          join a in context.Artist
                          on s.ArtistId equals a.ArtistId
                          select new SongInfo {
                Id       = s.SongId,
                Title    = s.Title,
                Released = s.ReleaseDate,
                Length   = s.SongLength,
                Artist   = a.ArtistName
            };

            return(View(model));
        }
Ejemplo n.º 12
0
        public MainViewModel()
        {
            _viewModels = new ObservableCollection<ViewModelBase>();
            _playlistRepository = new PlaylistRepository();
            _songRepository = new SongRepository();
            _userRepo = new UserRepository();
            _playlistListViewModel = new PlaylistListViewModel(_playlistRepository);
            _songListViewModel = new SongListViewModel(_songRepository);
            _songViewModel = new SongViewModel();
            _menuViewModel = new MenuViewModel();

            _viewModels.Add(_playlistListViewModel);
            _viewModels.Add(_songListViewModel);
            _viewModels.Add(_songViewModel);
            _viewModels.Add(_menuViewModel);

            #region Registering for ViewModel Commands
            // Listens for a click in menuViewModel
            Messenger.Default.Register<bool>(this, SetCreatePlaylistViewModel, "CreatePlaylistView");
            Messenger.Default.Register<bool>(this, CloseCreatePlaylistView, "CloseCreatePlaylistView");

            // Listens for click in menuViewModel
            Messenger.Default.Register<bool>(this, SetLoginViewModel, "CreateLoginView");
            // Listens for LoginUserViewModel to send this message
            Messenger.Default.Register<bool>(this, CloseLoginViewModel, "CloseLoginView");
            // Listens for menuViewModel logout button click
            Messenger.Default.Register<bool>(this, LogoutUser, "LogoutUser");

            // Listens for register button click in MenuViewModel
            Messenger.Default.Register<bool>(this, SetRegisterViewModel, "CreateRegisterView");
            Messenger.Default.Register<bool>(this, CloseRegisterViewModel, "CloseRegisterView");

            // Listens for menuviewModel AddNewSong button click
            Messenger.Default.Register<bool>(this, SetAddNewSongViewModel, "CreateAddNewSongView");
            Messenger.Default.Register<bool>(this, CloseAddNewSongViewModel, "CloseAddNewSongView");

            // Listenes for menuviewModel EditPlaylist button click
            Messenger.Default.Register<Playlist>(this, SetEditPlaylistViewModel, "CreateEditPlaylistView");
            Messenger.Default.Register<bool>(this, CloseEditPlaylistView, "CloseEditPlaylistView");

            // listens for menuviewmodel Edit Song button click
            Messenger.Default.Register<Song>(this, SetEditSongViewModel, "CreateEditSongView");
            Messenger.Default.Register<bool>(this, CloseEditSongView, "CloseEditSongView");

            // Listenes for menuvireModel Credits button
            Messenger.Default.Register<bool>(this, SetCreditTransactionViewModel, "CreateCreditTransactionView");
            Messenger.Default.Register<bool>(this, CloseCreditTransactionView, "CloseCreditTransactionView");

            // Listens for LoginViewModel successful login, or a RegisterViewModel sucessful registration
            Messenger.Default.Register<User>(this, LoginUser, "UserLogin");

            // Listens for when song is selected, changed, etc
            Messenger.Default.Register<bool>(this, UserPlayedSong, "UserCreditCheck");

            // Listens from MenuViewModel for delete commands
            Messenger.Default.Register<Playlist>(this, DeletePlaylist, "DeletePlaylist");
            Messenger.Default.Register<Song>(this, DeleteSong, "DeleteSong"); 
            #endregion

            User = new User();
        }
Ejemplo n.º 13
0
 public RemoteSongListActions(SongListViewModel viewModel)
 {
     this.viewModel = viewModel;
 }
Ejemplo n.º 14
0
 public SongListPage()
 {
     InitializeComponent();
     BindingContext = _viewModel = new SongListViewModel();
 }
Ejemplo n.º 15
0
        public MainViewModel()
        {
            _viewModels            = new ObservableCollection <ViewModelBase>();
            _playlistRepository    = new PlaylistRepository();
            _songRepository        = new SongRepository();
            _userRepo              = new UserRepository();
            _playlistListViewModel = new PlaylistListViewModel(_playlistRepository);
            _songListViewModel     = new SongListViewModel(_songRepository);
            _songViewModel         = new SongViewModel();
            _menuViewModel         = new MenuViewModel();

            _viewModels.Add(_playlistListViewModel);
            _viewModels.Add(_songListViewModel);
            _viewModels.Add(_songViewModel);
            _viewModels.Add(_menuViewModel);

            #region Registering for ViewModel Commands
            // Listens for a click in menuViewModel
            Messenger.Default.Register <bool>(this, SetCreatePlaylistViewModel, "CreatePlaylistView");
            Messenger.Default.Register <bool>(this, CloseCreatePlaylistView, "CloseCreatePlaylistView");

            // Listens for click in menuViewModel
            Messenger.Default.Register <bool>(this, SetLoginViewModel, "CreateLoginView");
            // Listens for LoginUserViewModel to send this message
            Messenger.Default.Register <bool>(this, CloseLoginViewModel, "CloseLoginView");
            // Listens for menuViewModel logout button click
            Messenger.Default.Register <bool>(this, LogoutUser, "LogoutUser");

            // Listens for register button click in MenuViewModel
            Messenger.Default.Register <bool>(this, SetRegisterViewModel, "CreateRegisterView");
            Messenger.Default.Register <bool>(this, CloseRegisterViewModel, "CloseRegisterView");

            // Listens for menuviewModel AddNewSong button click
            Messenger.Default.Register <bool>(this, SetAddNewSongViewModel, "CreateAddNewSongView");
            Messenger.Default.Register <bool>(this, CloseAddNewSongViewModel, "CloseAddNewSongView");

            // Listenes for menuviewModel EditPlaylist button click
            Messenger.Default.Register <Playlist>(this, SetEditPlaylistViewModel, "CreateEditPlaylistView");
            Messenger.Default.Register <bool>(this, CloseEditPlaylistView, "CloseEditPlaylistView");

            // listens for menuviewmodel Edit Song button click
            Messenger.Default.Register <Song>(this, SetEditSongViewModel, "CreateEditSongView");
            Messenger.Default.Register <bool>(this, CloseEditSongView, "CloseEditSongView");

            // Listenes for menuvireModel Credits button
            Messenger.Default.Register <bool>(this, SetCreditTransactionViewModel, "CreateCreditTransactionView");
            Messenger.Default.Register <bool>(this, CloseCreditTransactionView, "CloseCreditTransactionView");

            // Listens for LoginViewModel successful login, or a RegisterViewModel sucessful registration
            Messenger.Default.Register <User>(this, LoginUser, "UserLogin");

            // Listens for when song is selected, changed, etc
            Messenger.Default.Register <bool>(this, UserPlayedSong, "UserCreditCheck");

            // Listens from MenuViewModel for delete commands
            Messenger.Default.Register <Playlist>(this, DeletePlaylist, "DeletePlaylist");
            Messenger.Default.Register <Song>(this, DeleteSong, "DeleteSong");
            #endregion

            User = new User();
        }