Beispiel #1
0
        private void loadSeries(object main) // Ładuje listę śledzonych seriali
        {
            try
            {
                TrackedViewModel vm = (TrackedViewModel)main;

                ObservableCollection <Series> _seriesList = new ObservableCollection <Series>();
                _seriesList = new ReadFromDataBase().getAllTvSeries();
                _seriesList = new ObservableCollection <Series>(_seriesList.OrderBy(x => x._seriesName).ToList());

                Application.Current.Dispatcher.Invoke(new Action(() => vm.seriesList = _seriesList));

                string con = "";
                con += "Dodane seriale: " + new ReadFromDataBase().GetSeriesNo() + "\n";
                con += "Dodane odcinki: " + new ReadFromDataBase().GetEpisodeNo() + "\n";
                con += "Obejrzane odcinki: " + new ReadFromDataBase().GetWatchedEpisodesNo(true) + "\n";
                con += "Nieobejrzane odcinki: " + new ReadFromDataBase().GetWatchedEpisodesNo(false) + "\n";

                Application.Current.Dispatcher.Invoke(new Action(() => Statystyka = con));
            }
            catch (Exception)
            {
                ;
            }
            finally
            {
                TrackedViewModel vm = (TrackedViewModel)main;
                Application.Current.Dispatcher.Invoke(new Action(() => vm.LoadingScreen = Visibility.Hidden));
            }
        }
Beispiel #2
0
        override public void Execute(object parameter)
        {
            new UpdateDataBase().SetWatched(main.SelectedWrapper._episode._id, true);

            main.WrapperList.Remove(main.SelectedWrapper);

            ReadFromDataBase RD = new ReadFromDataBase();

            if (!main.ShowAll)
            {
                Wrapper w = new Wrapper(RD.GetLastAvaiableEpisode(main.SelectedWrapper._seriesID), main.SelectedWrapper._banner,
                                        main.SelectedWrapper._seriesName, main.SelectedWrapper.ShowBanner,
                                        main.SelectedWrapper._rating, main.SelectedWrapper._seriesID);

                if (w._episode != null)
                {
                    main.WrapperList.Add(w);
                    main._lastAdded = w;
                }
            }

            main._selected    = false;
            main._undo        = true;
            main._undoWrapper = main.SelectedWrapper;
            main.reloadWrapperList();
        }
Beispiel #3
0
        //Aktualizuje wszystkie zaznaczone seriale i tworzy log z procesu
        private void getEpisodes()
        {
            Application.Current.Dispatcher.Invoke(new Action(() => main.clearLog()));
            foreach (Series s in main.seriesList)
            {
                if (s._update)
                {
                    List <Episode>   ep = new List <Episode>();
                    ReadFromDataBase RD = new ReadFromDataBase();
                    UpdateDataBase   UD = new UpdateDataBase();
                    AddToDataBase    AD = new AddToDataBase();

                    Application.Current.Dispatcher.Invoke(new Action(() => main.addToLog("Pobieram " + s._seriesName)));

                    ep = new DownloadEpisodes().getEpisodes(s._id);

                    Application.Current.Dispatcher.Invoke(new Action(() => main.addToLog("Aktualizuję " + s._seriesName)));

                    int update = 0, added = 0;

                    foreach (Episode e in ep)
                    {
                        if (RD.EpisodeExist(e._id))
                        {
                            if (RD.EpisodeLastUpdate(e._id) < e._lastUpdate)
                            {
                                UD.UpdateEpisode(e);
                                update++;
                            }
                        }
                        else
                        {
                            AD.addEpisode(s._id, e);
                            added++;
                        }
                    }

                    Application.Current.Dispatcher.Invoke(new Action(() => main.addToLog("      Zaktualizowałem " + update + " odcinków")));
                    Application.Current.Dispatcher.Invoke(new Action(() => main.addToLog("      Dodałem " + added + " odcinków")));
                }
                else
                {
                    Application.Current.Dispatcher.Invoke(new Action(() => main.addToLog("Pomijam " + s._seriesName)));
                }
            }


            Application.Current.Dispatcher.Invoke(new Action(() => main.LoadingScreen = Visibility.Hidden));
        }
Beispiel #4
0
        private ObservableCollection <Wrapper> getLastUnwatched()
        {
            ObservableCollection <Wrapper> _List = new ObservableCollection <Wrapper>();
            ReadFromDataBase RD = new ReadFromDataBase();
            ObservableCollection <Series> _seriesList = RD.getAllTvSeries();

            foreach (Series s in _seriesList)
            {
                Episode ep = RD.GetLastAvaiableEpisode(s._id);
                if (ep != null)
                {
                    _List.Add(new Wrapper(ep, s._banner, s._seriesName, _showBanners, s._rating, s._id));
                }
            }

            return(_List);
        }
Beispiel #5
0
        private ObservableCollection <Wrapper> getAllUnwatched()
        {
            ObservableCollection <Wrapper> _List = new ObservableCollection <Wrapper>();

            ReadFromDataBase RD = new ReadFromDataBase();
            ObservableCollection <Series> _seriesList = RD.getAllTvSeries();

            foreach (Series s in _seriesList)
            {
                ObservableCollection <Episode> _episodeList = RD.GetAllUnWatchedEpisodes(s._id);
                foreach (Episode e in _episodeList)
                {
                    _List.Add(new Wrapper(e, s._banner, s._seriesName, _showBanners, s._rating, s._id));
                }
            }

            return(_List);
        }
Beispiel #6
0
        private void clear()
        {
            Application.Current.Dispatcher.Invoke(new Action(() => main.clearLog()));

            foreach (Series s in main.seriesList)
            {
                if (s._update)
                {
                    AddToDataBase  AD   = new AddToDataBase();
                    List <Episode> ep   = new List <Episode>();
                    Episode        last = new ReadFromDataBase().GetLastEpisode(s._id);

                    Application.Current.Dispatcher.Invoke(new Action(() => main.addToLog("Pobieram " + s._seriesName)));
                    ep = new DownloadEpisodes().getEpisodes(s._id);

                    Application.Current.Dispatcher.Invoke(new Action(() => main.addToLog("Aktualizuję " + s._seriesName)));

                    new DeleteFromDataBase().deleteEpisodes(s._id);

                    foreach (Episode e in ep)
                    {
                        AD.addEpisode(s._id, e);
                    }

                    if (last != null)
                    {
                        new UpdateDataBase().AllBelowWatched(s._id, last._episodeNumber, last._seasonNumber, true);
                        new UpdateDataBase().AllAboveUnwatched(s._id, last._episodeNumber, last._seasonNumber, false);
                    }
                    else
                    {
                        new UpdateDataBase().AllWatched(s._id, true);
                        new UpdateDataBase().AllNotAiredUnwatched(s._id);
                    }
                }
                else
                {
                    Application.Current.Dispatcher.Invoke(new Action(() => main.addToLog("Pomijam " + s._seriesName)));
                }
            }

            Application.Current.Dispatcher.Invoke(new Action(() => main.LoadingScreen = Visibility.Hidden));
        }
        private void setTreeView()
        {
            ObservableCollection <Season> seasonListTemp = new ObservableCollection <Season>();

            SelectedSeries = new ReadFromDataBase().GetTvSeries(_seriesId);
            ObservableCollection <Episode> _episodeList = new ReadFromDataBase().GetAllEpisodes(_seriesId);

            //Wyliczanie ilości sezonów
            int seasonNo = 0;

            foreach (Episode ep in _episodeList)
            {
                if (seasonNo < ep._seasonNumber)
                {
                    seasonNo = ep._seasonNumber;
                }
            }
            //Tworzenie sezonów
            for (int i = 0; i < seasonNo; i++)
            {
                seasonListTemp.Add(new Season(i + 1));
            }

            //Dodawanie epizodów do poszczególnych sezonów
            foreach (Episode ep in _episodeList)
            {
                ep.PropertyChanged += item_PropertyChanged;
                seasonListTemp[ep._seasonNumber - 1]._episodeList.Add(ep);
            }

            //Sortowanie
            foreach (Season s in seasonListTemp)
            {
                s.EpisodeList = new ObservableCollection <Episode>(s.EpisodeList.OrderBy(x => x._episodeNumber).ToList());
            }

            SeasonList = seasonListTemp;
            OnPropertyChanged("NextEpisode");
        }