Example #1
0
        void task_Finished(BackgroundOperationBase sender, ChannelDay page)
        {
            var task     = (BackgroundFunction <string>)sender;
            var executed = System.Threading.Interlocked.Increment(ref _executedTasks);


            _op.UserText = page.Channel.DisplayName;


            _op.Progress = (float)executed / _totalTasks;

            if (task.Completed)
            {
                page.SetHtml(task.Result);
            }
            else
            {
            }
            if (_executedTasks == _totalTasks)
            {
                _ewh.Set();
            }
        }
Example #2
0
        private void OnDetailsReceive(BackgroundOperationBase opbase)
        {
            var op = (BackgroundFunction <DetailsInfo>)opbase;

            if (op.ExceptionThrown)
            {
                DetailsVisible = false;
                return;
            }

            details = op.Result;

            pnlReview.Text = details.ReviewText;

            tabTrailer.Visibility = details.HasTrailer.AsVisibility();

            WriteTrailerHtml();

            if (details.ImageUrl != null && !imageLoaded)
            {
                imageLoaded = true;
                //  picImage.Margin = new Thickness(2);
                lblLoadingImage.Visibility = System.Windows.Visibility.Visible;
                var s = new System.Windows.Media.Imaging.BitmapImage();
                s.BeginInit();
                s.CreateOptions      = BitmapCreateOptions.IgnoreColorProfile;
                s.UriCachePolicy     = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.CacheIfAvailable);
                s.DownloadCompleted += new EventHandler(s_DownloadCompleted);
                s.UriSource          = new Uri(details.ImageUrl);
                s.EndInit();
                picImage.ImageFailed += new EventHandler <ExceptionRoutedEventArgs>(picImage_ImageFailed);
                picImage.Source       = s;
            }

            detailsLoaded = true;
        }
Example #3
0
        void loadProgramsOperation_Finished(BackgroundOperationBase op_base)
        {
            var op = (BackgroundUIFunction <IEnumerable <TvProgram> >)op_base;

            if (op.Aborted)
            {
                return;
            }



            if (op.ExceptionThrown)
            {
                App.AppServices.ErrorReporter.ShowErrorBox("Impossibile caricare la guida TV.", op.Exception, this.AsWin32Window());

                pnlUpdating.Visibility = System.Windows.Visibility.Collapsed;
                pnlPrograms.Visibility = System.Windows.Visibility.Visible;
                return;
            }



            pnlPrograms.BeginInit();
            pnlPrograms.Items.Clear();


            var progs = op.Result;

            var now = DateTime.Now;



            if (date.Date == DateTime.Today)
            {
                DateTime maxEndDate = now.Date.AddDays(1).AddHours(2);
                progs = progs.Where(x =>
                                    (
                                        x.EndDate.HasValue ?
                                        (x.EndDate >= now) :
                                        ((x.Date - now).TotalMinutes > -30)
                                    )
                                    &&
                                    (
                                        x.EndDate.HasValue ?
                                        x.EndDate < maxEndDate :
                                        x.Date < maxEndDate
                                    )
                                    );
            }

            //if (!ShowAllPrograms) progs = progs.Where(x => x is Movie);


            foreach (var item in progs)
            {
                //   even = !even;
                var u = new ProgramControl(item);
                var m = new ListBoxItem();
                m.Foreground = Brushes.Black;
                //     m.Background = Brushes.Green;
                m.Content = u;

                this.pnlPrograms.Items.Add(m);
            }
            //   pnlPrograms.SelectedIndex = -1;
            pnlPrograms.EndInit();
            pnlUpdating.Visibility = System.Windows.Visibility.Collapsed;
            pnlPrograms.Visibility = System.Windows.Visibility.Visible;
        }