Esempio n. 1
0
        private void marketplace_contentView_SelectedItemsChanged(object sender, BetterListViewSelectedItemsChangedEventArgs eventArgs)
        {
            if (InvokeRequired)
            {
                return;
            }
            try
            {
                _prevItem?.Tokensource?.Cancel();
            }
            catch (ObjectDisposedException odex)
            {
                _prevItem = null;
                //We can Ignore this as we are Intentionally Disposing of the Tokensource
            }

            if (_prevItem != null && _content.Contains(_prevItem))
            {
                display_pic.Image = null;
            }
            if (contentview.SelectedValue != null)
            {
                MarketPlaceContent item = (MarketPlaceContent)contentview.SelectedValue;
                gametitle_text.Text      = item.Title;
                developer_text.Text      = item.Developer;
                publisher_text.Text      = item.Publisher;
                release_text.Text        = item.Releasedate.ToString(CultureInfo.CurrentCulture);
                genre_text.Text          = item.OffersCount;
                description_textbox.Text = item.Description;
                if (item.Thumb == null && item.Thumburl != null)
                {
                    var result = item.InitImageAsync(item.Thumburl);
                    result.ContinueWith(task =>
                    {
                        if (item.Tokensource != null)
                        {
                            display_pic.Image = task.Result;
                            item.Tokensource  = null;
                        }
                    }, item.Tokensource.Token);
                }
                else if (item.Thumb != null)
                {
                    display_pic.Image = item.Thumb;
                }
                if (display_pic.Image == null)
                {
                }                                 //todo:Load graphic for "Banner Not Found"
                _prevItem = item;

                if (item.Capabilities == null)
                {
                    extrainfo_btn.Enabled = false;
                }
                else
                {
                    extrainfo_btn.Enabled = true;
                }
            }
        }
Esempio n. 2
0
        void marketplace_XmlDocChanged(object sender, EventArgs a)
        {
            contentview.SuppressSelectionChanged();
            _content.RaiseListChangedEvents = false;
            _batchhandler.Abort();
            //while (!batchhandler.WorkDone) Task.Delay(10);
            _content.Clear();
            var xdoc = _helper.XmlDoc;

            if (xdoc != null)
            {
                var entries = xdoc.Descendants(Constants.NetworkConnectivity.Namespaces.Atom + "entry");
                foreach (var entry in entries)
                {
                    MarketPlaceContent tempContent = new MarketPlaceContent(entry, (Language)querylanguage_sel.SelectedItem);
                    tempContent.Load();
                    _content.Add(tempContent);
                }
                numitems_sync_label.Text = xdoc.Descendants(Constants.NetworkConnectivity.Namespaces.Live + "totalItems").First().Value;
                cat_sync_label.Text      = _helper.MediaTypes.Name;
                int numItems;
                if (Int32.TryParse(numitems_sync_label.Text, out numItems))
                {
                    int max = (int)Math.Ceiling(numItems / entrys_num.Value);
                    if (max < page_num.Value)
                    {
                        page_num.Value = max;
                    }
                    page_num.Maximum = max;
                    Constants.BindingLists.Categorys[Constants.BindingLists.Categorys.IndexOf((MediaId)cat_select.SelectedItem)].TotalCount = numItems;
                }
            }
            _content.RaiseListChangedEvents = true;
            _content.ResetBindings();
            _batchhandler.StartUrlCheck(false);
            contentview.ResumeSelectionChanged();
        }