public async void Confirm() { string ResultID = null; if (SelectIndex >= 0) { if (bCheckArtist && SearchInfo.Artists.Count > 0) { ResultID = SearchInfo.Artists[SelectIndex].ID.ToString(); ResultType = eObjectType.ARTIST; } if (bCheckAlbum && SearchInfo.Albums.Count > 0) { ResultID = SearchInfo.Albums[SelectIndex].ID.ToString(); ResultType = eObjectType.ALBUM; } if (bCheckTrack && SearchInfo.Tracks.Count > 0) { ResultID = SearchInfo.Tracks[SelectIndex].ID.ToString(); ResultType = eObjectType.TRACK; } if (bCheckVideo && SearchInfo.Videos.Count > 0) { ResultID = SearchInfo.Videos[SelectIndex].ID.ToString(); ResultType = eObjectType.VIDEO; } ShowWait = Visibility.Visible; await Task.Run(() => { ResultObject = TidalTool.tryGet(ResultID, out ResultType, ResultType); }); } RequestClose(); }
public async void Search(string SearchStr) { ShowCoverFlow = Visibility.Hidden; if (SearchStr.IsBlank()) { Growl.Error("Search string is empty!", "SearchMsg"); return; } //Search ShowWait(); object SearchObj = await Task.Run(() => { return(TidalTool.tryGet(SearchStr, out SearchType)); }); if (SearchType == eObjectType.None) { Growl.Error("Search Err!", "SearchMsg"); } else if (SearchType == Tidal.eObjectType.SEARCH) { SearchResult = ((Tidal.SearchResult)SearchObj); ShowDetailView = Visibility.Hidden; } else { LoadDetail(SearchObj); ShowDetailView = Visibility.Visible; } ShowWait(false); }
public void ThreadFunc(object[] data) { while (true) { for (int i = 0; i < Items.Count; i++) { if (Items[i].Status != "Wait") { continue; } Items[i].Status = "Parse"; //Get eObjectType eType; object Data = TidalTool.tryGet(Items[i].Name, out eType, Items[i].Type); //Result if (eType == eObjectType.None || Data == null) { Items[i].Status = "Err"; } else { Items[i].Type = eType; Items[i].Data = Data; Items[i].Status = "Success"; } } Thread.Sleep(3000); } }
public async void Search() { if (InSearch) { return; } if (SearchStr.IsBlank()) { Errlabel = "Search String is Empty!"; return; } //Search InSearch = true; eObjectType SearchType = eObjectType.None; object SearchObj = await Task.Run(() => { return(TidalTool.tryGet(SearchStr, out SearchType)); }); InSearch = false; if (SearchType == eObjectType.None) { Errlabel = "Search Err!"; return; } if (SearchType == Tidal.eObjectType.SEARCH) { VMSearch.Load((Tidal.SearchResult)SearchObj); Manager.ShowDialog(VMSearch); SearchType = VMSearch.ResultType; SearchObj = VMSearch.ResultObject; if (SearchType == eObjectType.None) { return; } } SearchObj = VMInfo.Load(SearchObj); Manager.ShowDialog(VMInfo); if (VMInfo.Result) { MainListItemViewModel newNode = new MainListItemViewModel(SearchObj, ItemList); ItemList.Add(newNode); newNode.StartWork(); } }
public async void GetDetail() { if (SearchResult == null) { Growl.Error("Please search first!", "SearchMsg"); return; } ShowWait(); string sID = null; object oObject = null; eObjectType oType = eObjectType.None; eObjectType inType = eObjectType.None; string selectHeader = ((System.Windows.Controls.TabItem)((SearchView)this.View).ctrSearchTab.SelectedItem).Header.ToString(); if (selectHeader == "ALBUM") { if (((SearchView)this.View).ctrAlbumGrid.SelectedIndex < 0) { goto ERR_NO_SELECT; } sID = SearchResult.Albums[((SearchView)this.View).ctrAlbumGrid.SelectedIndex].ID.ToString(); inType = eObjectType.ALBUM; } else if (selectHeader == "TRACK") { if (((SearchView)this.View).ctrTrackGrid.SelectedIndex < 0) { goto ERR_NO_SELECT; } sID = SearchResult.Tracks[((SearchView)this.View).ctrTrackGrid.SelectedIndex].ID.ToString(); inType = eObjectType.TRACK; } else if (selectHeader == "VIDEO") { if (((SearchView)this.View).ctrVideoGrid.SelectedIndex < 0) { goto ERR_NO_SELECT; } sID = SearchResult.Videos[((SearchView)this.View).ctrVideoGrid.SelectedIndex].ID.ToString(); inType = eObjectType.VIDEO; } else if (selectHeader == "ARTIST") { if (((SearchView)this.View).ctrArtistGrid.SelectedIndex < 0) { goto ERR_NO_SELECT; } sID = SearchResult.Artists[((SearchView)this.View).ctrArtistGrid.SelectedIndex].ID.ToString(); inType = eObjectType.ARTIST; } else if (selectHeader == "PLAYLIST") { if (((SearchView)this.View).ctrPlaylistGrid.SelectedIndex < 0) { goto ERR_NO_SELECT; } sID = SearchResult.Playlists[((SearchView)this.View).ctrPlaylistGrid.SelectedIndex].UUID; inType = eObjectType.PLAYLIST; } oObject = await Task.Run(() => { return(TidalTool.tryGet(sID, out oType, inType)); }); LoadDetail(oObject); ShowDetailView = Visibility.Visible; ShowWait(false); return; ERR_NO_SELECT: Growl.Error("Please select one item!", "SearchMsg"); ShowWait(false); return; }