protected override async Task Initialize() { try { EditButtonDisabled = false; var navigationCommand = new NavigateToMediaCommand(_navigationService, _historyDataService); SearchViewModel = new SearchControlViewModel(_documentInfoDataService, _searchContentDataService, _navigationService, navigationCommand); var data = await _playlistsDataService.GetPlayListsData(); _allPlaylists = PlaylistViewModelBuilder.Create(data, navigationCommand, _dialogService); PopulateRemoveCommand(_allPlaylists); SetInternalMode(_allPlaylists, IsInternalModeEnable); PlayLists = _allPlaylists; EditButtonText = ReadOnlyModeStateText; var personalLibrarydata = await _playlistsDataService.GetPersonalLibrarData(); PersonalLibraryViewModel = PlaylistViewModelBuilder.Create(personalLibrarydata, navigationCommand, _dialogService); PersonalLibraryViewModel.IsInternalMode = IsInternalModeEnable; NewPlaylistViewModel = new NewPlaylistViewModel(this.PlayLists, new NavigateToMediaCommand(_navigationService, _historyDataService), _dialogService, (vm) => _allPlaylists.Remove(vm)); EditButtonDisabled = true; } catch (Exception ex) { PlatformAdapter.SendToCustomLogger(ex, LoggingLevel.Error); } }
private async void SetEditMode(bool isEditMode) { EditButtonText = isEditMode ? EditModeStateText : ReadOnlyModeStateText; PlayLists.ForEach(vm => vm.IsPlaylistEditMode = isEditMode); PersonalLibraryViewModel.IsPlaylistEditMode = isEditMode; if (isEditMode == false) { EditButtonDisabled = false; var newData = PlaylistViewModelBuilder.ConvertToModelData(this); await _playlistsDataService.SaveChanges(newData); await Initialize(); EditButtonDisabled = true; } }