private void FillPastStreamsDataGridView(VODMasterObject VODList)
        {
            _VODList    = VODList.data;
            _pagination = VODList.pagination.cursor;

            dataGridView2.RowTemplate.Height = 50;

            var addToDataGridView = new Progress <Tuple <string, string, Bitmap, string> >(value =>
            {
                dataGridView2.Rows.Add(value.Item1, value.Item2, value.Item3, value.Item4);
            });

            var updateGUIThread = addToDataGridView as IProgress <Tuple <string, string, Bitmap, string> >;

            Task.Run(() =>
            {
                foreach (var vod in VODList.data)
                {
                    Bitmap bitmap2;
                    string thumbnail = vod.thumbnail_url.Replace("%{width}", "300").Replace("%{height}", "300");
                    if (thumbnail != "")
                    {
                        System.Net.WebRequest request   = System.Net.WebRequest.Create(thumbnail);
                        System.Net.WebResponse response = request.GetResponse();
                        System.IO.Stream responseStream = response.GetResponseStream();
                        bitmap2 = new Bitmap(responseStream);
                    }
                    else
                    {
                        bitmap2 = new Bitmap(Properties.Resources.replacementIcon);
                    }


                    updateGUIThread.Report(new Tuple <string, string, Bitmap, string>("Download", vod.title, bitmap2, vod.description));
                }
            });
        }
Beispiel #2
0
        /// <summary>
        /// Fills the datagridview with the VODList
        /// </summary>
        /// <param name="VODList">List of VOD objects to fill the datagridview</param>
        private void FillPastStreamsDataGridView(VODMasterObject VODList)
        {
            //Iprogress to update GUI Thread
            var addToDataGridView = new Progress <StreamDataGridViewValues>(value =>
            {
                if (value.IsGoodStreamObject)
                {
                    StreamDataGridView.Rows.Add(value.ButtonText, value.StreamTitle, value.StreamImage, value.StreamDescription);
                }
                else
                {
                    StreamDataGridView.Rows.Add(value.ButtonText, value.StreamTitle, value.StreamImage, value.StreamDescription);
                    NextButton.Visible     = false;
                    PreviousButton.Visible = false;
                }
            });
            var updateGUIThread = addToDataGridView as IProgress <StreamDataGridViewValues>;

            string videoType = VideoTypeComboBox.Text;

            try
            {
                SharedFunctions.ClearDataGridView(StreamDataGridView);

                _VODList        = VODList.data;
                _lastPagination = _pagination;
                _pagination     = VODList.pagination.cursor;

                Task.Run(() =>
                {
                    if (VODList.data.Count != 0)
                    {
                        foreach (var vod in VODList.data)
                        {
                            Bitmap bitmap;
                            string thumbnail = vod.thumbnail_url.Replace("%{width}", "300").Replace("%{height}", "200");

                            if (thumbnail != "")
                            {
                                bitmap = SharedFunctions.GetBitmapImage(thumbnail);
                            }
                            else
                            {
                                bitmap = new Bitmap(Properties.Resources.replacementIcon);
                            }

                            updateGUIThread.Report(new StreamDataGridViewValues("Download", vod.title, bitmap, vod.description, true));
                        }
                    }
                    else
                    {
                        updateGUIThread.Report(new StreamDataGridViewValues("No videos", "No videos under " + videoType + ". Please click Apply to reset the list with a new Video Type or pick a new streamer.", new Bitmap(Properties.Resources.RedX), "", false));
                    }
                });
            }
            catch (NullReferenceException e)
            {
                Console.WriteLine(e.Message);
                updateGUIThread.Report(new StreamDataGridViewValues("No videos", "No more videos under " + videoType + ". Please click Apply to reset the list.", new Bitmap(Properties.Resources.RedX), "", false));
            }
        }