예제 #1
0
        private void dataGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            if (VisualTreeExtensions.FindParent <DataGridRow>(e.OriginalSource as DependencyObject) != null)
            {
                AlbumListItem item = dataGrid.SelectedItem as AlbumListItem;
                if (item != null)
                {
                    switch (CurrentViewMode)
                    {
                    case CurrentViewMode.MediumTable:
                    {
                        ChangeViewCommandParameters changeViewParams = new ChangeViewCommandParameters();
                        changeViewParams.ViewMode = MainControls.CurrentViewMode.AlbumTable;

                        Big3.Hitbase.DataBaseEngine.Condition condition = new Big3.Hitbase.DataBaseEngine.Condition();
                        condition.Add(new SingleCondition(Field.Medium, Operator.Equal, item.Title));
                        changeViewParams.Condition = condition;

                        CatalogViewCommands.ChangeView.Execute(changeViewParams, this);
                        break;
                    }
                    }
                }
            }
        }
예제 #2
0
 public static List <AlbumListItem> ParseTopAlbums(string json)
 {
     try
     {
         List <AlbumListItem> albums = new List <AlbumListItem>();
         JObject obj   = JObject.Parse(json);
         JArray  array = (obj["feed"])["entry"] as JArray;
         for (int i = 0; i < array.Count; i++)
         {
             JObject       albumObject = array[i] as JObject;
             AlbumListItem album       = new AlbumListItem();
             album.Id          = Convert.ToInt32(((albumObject["id"])["attributes"])["im:id"].ToString());
             album.Name        = (albumObject["im:name"])["label"].ToString();
             album.ImageSource = new ImageSource()
             {
                 Sizex30  = ((albumObject["im:image"])[0])["label"].ToString(),
                 Sizex60  = ((albumObject["im:image"])[1])["label"].ToString(),
                 Sizex100 = ((albumObject["im:image"])[2])["label"].ToString()
             };
             album.ArtistName  = (albumObject["im:artist"])["label"].ToString();
             album.ReleaseDate = Convert.ToDateTime((albumObject["im:releaseDate"])["label"].ToString());
             album.Sort        = i + 1;
             albums.Add(album);
         }
         return(albums);
     }
     catch (Exception)
     {
         return(null);
     }
 }
예제 #3
0
 public static List <AlbumListItem> ParseAlbums(string json)
 {
     try
     {
         List <AlbumListItem> albums = new List <AlbumListItem>();
         JObject obj   = JObject.Parse(json);
         JArray  array = obj["results"] as JArray;
         for (int i = 1; i < array.Count; i++)
         {
             JObject       albumObject = array[i] as JObject;
             AlbumListItem album       = new AlbumListItem();
             album.Id          = Convert.ToInt32(albumObject["collectionId"].ToString());
             album.Name        = albumObject["collectionName"].ToString();
             album.ArtistName  = albumObject["artistName"].ToString();
             album.ImageSource = new ImageSource()
             {
                 Sizex60  = albumObject["artworkUrl60"].ToString(),
                 Sizex100 = albumObject["artworkUrl100"].ToString()
             };
             album.ReleaseDate = Convert.ToDateTime(albumObject["releaseDate"].ToString());
             albums.Add(album);
         }
         return(albums);
     }
     catch (Exception)
     {
         return(null);
     }
 }
예제 #4
0
        //
        // GET: /Album/Index/
        public ActionResult Index()
        {
            var allalbum = _db.tbl_Album.OrderByDescending(a => a.album_Visit);
            List <AlbumListItem> model = new List <AlbumListItem>();

            foreach (var item in allalbum)
            {
                AlbumListItem album = new AlbumListItem(item);
                model.Add(album);
            }
            return(View(model));
        }
예제 #5
0
        private bool FilterRow(object row)
        {
            if (string.IsNullOrEmpty(FullTextSearch))
            {
                return(true);
            }

            string filterString = FullTextSearch.ToLower();

            bool found = false;

            AlbumListItem trackListItem = row as AlbumListItem;

            if (trackListItem.Title.IndexOf(filterString, StringComparison.InvariantCultureIgnoreCase) >= 0)
            {
                found = true;
            }

            return(found);
        }
예제 #6
0
        void bwTrackList_DoWork(object sender, DoWorkEventArgs e)
        {
            string sql = "";

            switch (CurrentViewMode)
            {
            case MainControls.CurrentViewMode.MediumTable:
                sql = "SELECT Medium.Name, COUNT(*) AS TotalCount " +
                      "FROM CD LEFT JOIN " +
                      "Medium ON CD.MediumID = Medium.MediumID " +
                      "GROUP BY Medium.Name";
                if (Condition != null && Condition.Count > 0)
                {
                    sql += " HAVING Medium.Name LIKE '" + Condition[0].Value + "%'";
                }
                break;
            }

            List <AlbumListItem> items = new List <AlbumListItem>();

            using (DataBaseView view = DataBaseView.Create(this.DataBase, sql))
            {
                object[] values;

                while ((values = view.Read()) != null)
                {
                    AlbumListItem trackListItem = new AlbumListItem();
                    trackListItem.Title = values[0].ToString();
                    trackListItem.Count = (int)values[1];

                    items.Add(trackListItem);
                }
            }

            e.Result = items;
        }
예제 #7
0
        private void AlbumDataGridAlbumListClick(object sender, RoutedEventArgs e)
        {
            if (SubsonicClient == null) return;

            var source = e.Source as MenuItem;
            if (source == null) return;

            AlbumListType albumListType;

            switch (source.Header.ToString())
            {
                case "Newest":
                    albumListType = AlbumListType.Newest;
                    break;
                case "Random":
                    albumListType = AlbumListType.Random;
                    break;
                case "Highest Rated":
                    albumListType = AlbumListType.Highest;
                    break;
                case "Frequently Played":
                    albumListType = AlbumListType.Frequent;
                    break;
                case "Recently Played":
                    albumListType = AlbumListType.Recent;
                    break;
                case "Starred":
                    albumListType = AlbumListType.Starred;
                    break;
                default:
                    albumListType = AlbumListType.Newest;
                    break;
            }

            _albumListItem = new AlbumListItem {AlbumListType = albumListType, Current = 0};
            SubsonicClient.GetAlbumListAsync(albumListType, _albumListMax, null, GetCancellationToken("AlbumDataGridAlbumListClick")).ContinueWith(t => UpdateAlbumGrid(t, _albumListMax + 1, _albumListMax + _albumListMax));
        }