public static void ShowItemContent(List <media_files> mediaList)
        {
            ListView listView = PHome._PHome.getListView();

            PHome._PHome.SetContentDescription(mediaList.Count + " elemento(s)");

            listView.Items.Clear();
            ListViewMediaItem item;

            foreach (media_files media in mediaList)
            {
                item = new ListViewMediaItem(media);
                listView.Items.Add(item);
            }
        }
        public static void ShowItemContenInvoke(List <media_files> mediaList)
        {
            ListView listView = PHome._PHome.getListView();

            listView.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal,
                                       (Action)(() => {
                PHome._PHome.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal,
                                               (Action)(() => {
                    PHome._PHome.SetContentDescription(mediaList.Count + " elemento(s)");
                }));

                listView.Items.Clear();
                ListViewMediaItem item;

                foreach (media_files media in mediaList)
                {
                    item = new ListViewMediaItem(media);
                    listView.Items.Add(item);
                }
            }));
        }
Exemple #3
0
        private async Task Filtrar()
        {
            string text = TbxSearch.Text;

            //object o = _fcontent.SelectedItem;
            //if (o != null)
            //{
            querying = true;
            Console.WriteLine("Start query: " + text);
            ShowLoader();
            _listViewContent.Items.Clear();

            // TabItem page = (TabItem)o;
            //if(page != null)
            //{_comboCategorias

            int categId = -1;  // int.Parse(page.Tag.ToString());

            if (_comboCategorias.SelectedIndex >= 0)
            {
                categId = ((categoria)_comboCategorias.SelectedItem).id;
            }

            int year = -1;

            if (_comboAnnos.SelectedIndex >= 0)
            {
                year = (int)_comboAnnos.SelectedItem;
            }

            int generoId = -1;

            if (_comboGeneros.SelectedIndex >= 0)
            {
                generoId = ((genero)_comboGeneros.SelectedItem).id;
            }

            if (!string.IsNullOrEmpty(text) || categId > 0 || year > 0 || generoId > 0)
            {
                if (!pending_query)
                {
                    List <media_files> mf_list = await DBManager.MediaFilesRepo.AplyFilterAsync(categId, text, year, generoId);  // HomeCatalogManager.FiltrarCatalogoAsync(categId, text);

                    //  await Task.Run(async () =>
                    //{
                    //  await _listViewContent.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Background,
                    // (Action)(() =>
                    // {

                    ListViewMediaItem item;
                    foreach (media_files mf in mf_list)
                    {
                        if (!pending_query)
                        {
                            var addItem = new Action(() => _listViewContent.Items.Add(item = new ListViewMediaItem(mf)));
                            Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, addItem);

                            //  item = new ListViewMediaItem(mf);
                            // _listViewContent.Items.Add(item);
                        }
                        else
                        {
                            break;
                        }
                    }
                    // }));

                    if (!pending_query)
                    {
                        _lContentDesc.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal,
                                                        (Action)(() =>
                        {
                            _lContentDesc.Text = "0 elementos";
                        }));

                        Console.WriteLine("End Task Operations" + "\n");
                        HideLoader();
                        querying = false;
                    }
                    // });

                    if (pending_query)
                    {
                        pending_query = false;
                        await Filtrar();
                    }
                }
                else
                {
                    pending_query = false;
                    await Filtrar();
                }
            }
            else
            {
                Console.WriteLine("End Task Operations" + "\n");
                HideLoader();
                querying = false;
            }
        }