async Task ExecuteLoadAudiosCommand() { if (IsBusy) { return; } IsBusy = true; try { Audios.Clear(); var audios = await AudiosRepository.GetItemsAsync(); foreach (var audio in audios) { Audios.Add(audio); } } catch (Exception ex) { Debug.WriteLine(ex); } finally { IsBusy = false; } }
protected internal void AddAudio(Speech speech) { if (speech == null) { throw new ArgumentNullException(nameof(speech)); } if (Audios.Any(x => x.Id == speech.Id)) { Audios.Remove(Audios.SingleOrDefault(x => x.Id == speech.Id)); } Audios.Add(speech); }
/// <summary> /// Конструктор по умолчанию. /// </summary> public AudiosViewModel(string uniqueKey, long ownerID) : base(uniqueKey) { _audios = new AudiosCollection(ownerID); _recommendations = new RecommendedAudiosCollection((ulong)ownerID); _popular = new PopularAudiosCollection(); _albums = new AudioAlbumsCollection(ownerID); Refresh = new RelayCommand(() => Audios.Refresh()); RefreshAlbums = new RelayCommand(() => Albums.Refresh()); RefreshPopular = new RelayCommand(() => Popular.Refresh()); RefreshRecommended = new RelayCommand(() => Recommendations.Refresh()); DeleteCommand = new RelayCommand <VKAudio>(async audio => { var request = new Request.DeleteAudioRequest(audio.ID, audio.OwnerID); var response = await request.ExecuteAsync(); if (response.Error.ErrorType == VKErrors.None) { Audios.Remove(audio); } else { await ServiceHelper.DialogService.ShowMessageBox("Произошла ошибка: " + response.Error.ErrorType.ToString(), "Не удалось удалить аудиозапись."); } }); DownloadAudio = new RelayCommand <VKAudio>(async audio => { var command = new VKSaverDownloadCommand(); command.Downloads.Add(CoreHelper.GetDownload(audio)); await command.TryExecute(); }); #if DEBUG if (ViewModelBase.IsInDesignModeStatic) { for (int i = 0; i < 71; i++) { Audios.Add(DesignDataHelper.GetAudio()); Recommendations.Add(DesignDataHelper.GetAudio()); Popular.Add(DesignDataHelper.GetAudio()); } } #endif }
private void tbSearch_TextChanged(object sender, EventArgs e) { var Pattern = tbSearch.Text; try { var Parts = Pattern.ToLower().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); if (Parts.Length == 0) { DisplayItems(); return; } ShownItems = new Audios(); foreach (var Item in Core.GetAudios()) { bool IsFound = true; var AudioName = Item.ShortName.ToLower(); foreach (var Part in Parts) { if (!AudioName.Contains(Part)) { IsFound = false; break; } } if (IsFound) { ShownItems.Add(Item); } } pnAudios.Build(ShownItems); lbItemCount.Text = "Items: " + ShownItems.Count; Invalidate(true); } catch (Exception E) { Logger.ErrorException("Files processing exception.", E); ShowError(E); } }
private void tbSearch_TextChanged(object sender, EventArgs e) { var Pattern = tbSearch.Text; try { var Parts = Pattern.ToLower().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); if (Parts.Length == 0) { DisplayItems(); return; } ShownItems = new Audios(); foreach (var Item in Core.GetAudios()) { bool IsFound = true; var AudioName = Item.ShortName.ToLower(); foreach (var Part in Parts) { if (!AudioName.Contains(Part)) { IsFound = false; break; } } if (IsFound) ShownItems.Add(Item); } pnAudios.Build(ShownItems); lbItemCount.Text = "Items: " + ShownItems.Count; Invalidate(true); } catch (Exception E) { Logger.ErrorException("Files processing exception.", E); ShowError(E); } }