public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            this.FilmSegments.Enabled = false;

            var bounds = this.View.Bounds;

            var currentFilms  = new AllFilmsTableSource(AllFilmsTableSource.FilmListingType.Current, Application.Films.Values);
            var upcomingFilms = new AllFilmsTableSource(AllFilmsTableSource.FilmListingType.Upcoming, Application.Films.Values);

            this.AllFilmsTable.Source = currentFilms;

            this.FilmSegments.ValueChanged += (sender, e) =>
            {
                if (this.FilmSegments.SelectedSegment == 0)
                {
                    this.AllFilmsTable.Source = currentFilms;
                }
                else
                {
                    this.AllFilmsTable.Source = upcomingFilms;
                }
                this.AllFilmsTable.ReloadData();
                this.AllFilmsTable.ScrollRectToVisible(new CoreGraphics.CGRect(0, 0, 1, 1), false);
            };

            this.FilmSegments.Enabled = true;
        }
        FilmListViewController GetUpcomingFilmsViewController()
        {
            if (this.upcomingFilmsVC == null)
            {
                var vc            = this.Storyboard.InstantiateViewController("FilmListViewController") as FilmListViewController;
                var upcomingFilms = new AllFilmsTableSource(AllFilmsTableSource.FilmListingType.Upcoming, this.Films);
                vc.FilmSource = upcomingFilms;
                vc.Cinema     = this.Cinema;

                vc.View.Frame = new CoreGraphics.CGRect(0, 0, CinemaDetailsContainer.Frame.Width, CinemaDetailsContainer.Frame.Height);

                this.upcomingFilmsVC = vc;
            }

            return(this.upcomingFilmsVC);
        }