示例#1
0
        void Load(MiniNetwork n)
        {
            foreach (ToolbarItem t in new Toolbar(this, ref Predictions).ToolBarItems)
            {
                ToolbarItems.Add(t);
            }

            FilteredYearList = NetworkDatabase.YearList.Where(x => NetworkDatabase.NetworkList.AsParallel().SelectMany(y => y.shows).Where(y => y.year == x).Where(y => y.FinalPrediction > 0 && (y.Renewed || y.Canceled)).Count() > 0).ToList();
            foreach (Year y in FilteredYearList)
            {
                SeasonList.Add(y);
            }

            network = n;

            InitializeComponent();

            BindingContext = this;

            YearList      = FindTemplateElementByName <Picker>(this, "YearList");
            Activity      = FindTemplateElementByName <ActivityIndicator>(this, "Activity");
            SearchResults = FindTemplateElementByName <ResultsList>(this, "SearchResults");
            SearchResults.NavigationParent = this;

            YearList.BindingContext = this;
            //YearList.ItemsSource = FilteredYearList;
            YearList.IsVisible = true;
            //YearList.Position = FilteredYearList.Count - 1;

            //YearList.PositionSelected += YearList_PositionSelected;
            //YearList.PositionChanged += YearList_PositionChanged;
            NetworkDatabase.CurrentYearUpdated += NetworkDatabase_CurrentYearUpdated;


            NetworkDatabase_CurrentYearUpdated(this, new EventArgs());
            //NetworkDatabase.CurrentYear = NetworkDatabase.YearList.IndexOf(SeasonList[SeasonList.Count-1]);

            Activity.IsRunning = false;
            Activity.IsVisible = false;

            SideColumn.SizeChanged += SideColumn_SizeChanged;
            SidePanel.PanelOpened  += SidePanel_PanelOpened;

            var tapped = new TapGestureRecognizer();

            tapped.Tapped += Network_Tapped;
            NetworkLayout.GestureRecognizers.Add(tapped);

            tapped         = new TapGestureRecognizer();
            tapped.Tapped += Year_Tapped;
            YearLayout.GestureRecognizers.Add(tapped);

            tapped         = new TapGestureRecognizer();
            tapped.Tapped += Model_Tapped;
            ModelLayout.GestureRecognizers.Add(tapped);

            Appearing    += ScoreBoard_Appearing;
            Disappearing += ScoreBoard_Disappearing;
        }
示例#2
0
 public Toolbar(ContentPage page, MiniNetwork n, PredictionContainer p) //ShowDetailPage with Network
 {
     network       = n;
     UseNetwork    = true;
     prediction    = p;
     UsePrediction = true;
     Parent        = page;
 }
示例#3
0
        public RatingsBreakdown(Show s, MiniNetwork n)
        {
            network = n;
            InitializeComponent();

            ShowInfo.Elapsed += ShowInfo_Elapsed;
            ShowInfo.Start();

            Load_Ratings(s);
        }
        public PredictionBreakdown(Show s, MiniNetwork n)
        {
            show    = s;
            network = n;
            details = new ObservableCollection <DetailsContainer>();

            InitializeComponent();

            ShowInfo.Elapsed += ShowInfo_Elapsed;
            ShowInfo.Start();

            ShowDetails.ItemsSource = details;

            LoadBreakdown();
        }
示例#5
0
        public static void UpdateFilter(ref ObservableCollection <ListOfPredictions> PredictionList)
        {
            lock (PredictionLock)
            {
                PredictionList.Clear();
                foreach (MiniNetwork n in NetworkDatabase.NetworkList)
                {
                    if (n.pendingFilter)
                    {
                        n.Filter(false);
                    }
                }

                if (Application.Current.Properties.ContainsKey("PredictionSort"))
                {
                    switch (Application.Current.Properties["PredictionSort"] as string)
                    {
                    case "Ratings":
                    {
                        var TempList = NetworkDatabase.NetworkList.AsParallel().Where(x => x.Predictions.Count > 0).SelectMany(x => x.Predictions).SelectMany(x => x).OrderByDescending(x => x.show.AverageRating).ToList();
                        MiniNetwork.AddPredictions_Ratings(TempList, ref PredictionList);
                        break;
                    }

                    case "Name":
                    {
                        var TempList = NetworkDatabase.NetworkList.AsParallel().Where(x => x.Predictions.Count > 0).SelectMany(x => x.Predictions).SelectMany(x => x).OrderBy(x => x.Name).ToList();
                        MiniNetwork.AddPredictions_Name(TempList, ref PredictionList);
                        break;
                    }

                    default:
                    {
                        Filter_Odds(ref PredictionList);
                        break;
                    }
                    }
                }
                else
                {
                    Filter_Odds(ref PredictionList);
                }
            }
        }
示例#6
0
        public Predictions(MiniNetwork n)
        {
            Appearing    += Predictions_Appearing;
            Disappearing += Predictions_Disappearing;
            isAllNetworks = false;
            network       = n;
            foreach (ToolbarItem t in new Toolbar(this, n).ToolBarItems)
            {
                ToolbarItems.Add(t);
            }

            PredictionList = n.Predictions;

            if (network.pendingFilter)
            {
                network.Filter();
            }

            InitializeComponent();

            Bar.Title = network.name;
            FinishLoading();
        }
示例#7
0
        void LoadPredictions()
        {
            Predictions.Clear();

            if (Filtered && SelectedNetwork > -1)
            {
                NetworkDatabase.NetworkList[SelectedNetwork].Filter(true, !CurrentModel, AllYears, FilteredYearList);
            }
            else
            {
                foreach (MiniNetwork x in NetworkDatabase.NetworkList)
                {
                    x.Filter(true, !CurrentModel, AllYears, FilteredYearList);
                }
            }

            var AllPredictions = (Filtered && SelectedNetwork > -1) ?
                                 NetworkDatabase.NetworkList[SelectedNetwork].Predictions.AsParallel().SelectMany(x => x).Where(x => CurrentModel || (x.finalodds > 0 && (x.show.Renewed || x.show.Canceled || x.Status == ""))).OrderByDescending(x => CurrentModel ? x.odds : x.finalodds) :
                                 NetworkDatabase.NetworkList.AsParallel().SelectMany(x => x.Predictions).SelectMany(x => x).Where(x => CurrentModel || (x.finalodds > 0 && (x.show.Renewed || x.show.Canceled || x.Status == ""))).OrderByDescending(x => CurrentModel ? x.odds : x.finalodds);



            MiniNetwork.AddPredictions_Odds(AllPredictions, ref Predictions, !CurrentModel);

            ShowList.ItemsSource = Predictions;

            var WithStatus = Predictions.AsParallel().SelectMany(x => x).Where(x => x.show.Renewed || x.show.Canceled);

            var Accurate = CurrentModel ?
                           WithStatus.AsParallel().Where(x => (x.show.Renewed && x.odds >= 0.5) || (!x.show.Renewed && x.odds <= 0.5)) :
                           WithStatus.AsParallel().Where(x => (x.show.Renewed && x.finalodds >= 0.5) || (!x.show.Renewed && x.finalodds <= 0.5));

            var part  = Accurate.Count();
            var whole = WithStatus.Count();

            Accuracy.Text = "Accuracy: " + part + "/" + whole + " (" + ((double)part / whole).ToString("P1") + ")";
        }
示例#8
0
 public Toolbar(ContentPage page, MiniNetwork n)
 {
     network    = n;
     UseNetwork = true;
     Parent     = page;
 }
示例#9
0
        static void Filter_Odds(ref ObservableCollection <ListOfPredictions> PredictionList)
        {
            var tempPredictions = NetworkDatabase.NetworkList.AsParallel().Where(x => x.Predictions.Count > 0).SelectMany(x => x.Predictions).SelectMany(x => x).OrderByDescending(x => x.odds);

            MiniNetwork.AddPredictions_Odds(tempPredictions, ref PredictionList);
        }
示例#10
0
 public async void NavigateToNetwork(MiniNetwork n)
 {
     //HomeLayout.IsVisible = false;
     //PredictionFrame.IsVisible = true;
     await Navigation.PushAsync(new Predictions(n));
 }
示例#11
0
 public ScoreBoard(MiniNetwork n = null)
 {
     Load(n);
 }