Esempio n. 1
0
        public static Sizes GenerateSizes(List <SVR_AnimeEpisode> ael, int uid)
        {
            int eps      = 0;
            int credits  = 0;
            int specials = 0;
            int trailers = 0;
            int parodies = 0;
            int others   = 0;

            int localEps      = 0;
            int localCredits  = 0;
            int localSpecials = 0;
            int localTrailers = 0;
            int localParodies = 0;
            int localOthers   = 0;

            int watchedEps      = 0;
            int watchedCredits  = 0;
            int watchedSpecials = 0;
            int watchedTrailers = 0;
            int watchedParodies = 0;
            int watchedOthers   = 0;

            // single loop. Will help on long shows
            foreach (SVR_AnimeEpisode ep in ael)
            {
                if (ep?.AniDB_Episode == null)
                {
                    continue;
                }
                var  local   = ep.GetVideoLocals().Any();
                bool watched = (ep.GetUserRecord(uid)?.WatchedCount ?? 0) > 0;
                switch (ep.EpisodeTypeEnum)
                {
                case EpisodeType.Episode:
                {
                    eps++;
                    if (local)
                    {
                        localEps++;
                    }
                    if (watched)
                    {
                        watchedEps++;
                    }
                    break;
                }

                case EpisodeType.Credits:
                {
                    credits++;
                    if (local)
                    {
                        localCredits++;
                    }
                    if (watched)
                    {
                        watchedCredits++;
                    }
                    break;
                }

                case EpisodeType.Special:
                {
                    specials++;
                    if (local)
                    {
                        localSpecials++;
                    }
                    if (watched)
                    {
                        watchedSpecials++;
                    }
                    break;
                }

                case EpisodeType.Trailer:
                {
                    trailers++;
                    if (local)
                    {
                        localTrailers++;
                    }
                    if (watched)
                    {
                        watchedTrailers++;
                    }
                    break;
                }

                case EpisodeType.Parody:
                {
                    parodies++;
                    if (local)
                    {
                        localParodies++;
                    }
                    if (watched)
                    {
                        watchedParodies++;
                    }
                    break;
                }

                case EpisodeType.Other:
                {
                    others++;
                    if (local)
                    {
                        localOthers++;
                    }
                    if (watched)
                    {
                        watchedOthers++;
                    }
                    break;
                }
                }
            }

            Sizes s = new Sizes
            {
                Total =
                    new Sizes.EpisodeCounts()
                {
                    Episodes = eps,
                    Credits  = credits,
                    Specials = specials,
                    Trailers = trailers,
                    Parodies = parodies,
                    Others   = others
                },
                Local = new Sizes.EpisodeCounts()
                {
                    Episodes = localEps,
                    Credits  = localCredits,
                    Specials = localSpecials,
                    Trailers = localTrailers,
                    Parodies = localParodies,
                    Others   = localOthers
                },
                Watched = new Sizes.EpisodeCounts()
                {
                    Episodes = watchedEps,
                    Credits  = watchedCredits,
                    Specials = watchedSpecials,
                    Trailers = watchedTrailers,
                    Parodies = watchedParodies,
                    Others   = watchedOthers
                }
            };

            return(s);
        }
Esempio n. 2
0
        private void GenerateSizes(List <SVR_AnimeEpisode> ael, int uid)
        {
            int eps      = 0;
            int credits  = 0;
            int specials = 0;
            int trailers = 0;
            int parodies = 0;
            int others   = 0;

            int local_eps      = 0;
            int local_credits  = 0;
            int local_specials = 0;
            int local_trailers = 0;
            int local_parodies = 0;
            int local_others   = 0;

            int watched_eps      = 0;
            int watched_credits  = 0;
            int watched_specials = 0;
            int watched_trailers = 0;
            int watched_parodies = 0;
            int watched_others   = 0;

            // single loop. Will help on long shows
            foreach (SVR_AnimeEpisode ep in ael)
            {
                if (ep?.AniDB_Episode == null)
                {
                    continue;
                }
                var  local   = ep.GetVideoLocals().Any();
                bool watched = (ep.GetUserRecord(uid)?.WatchedCount ?? 0) > 0;
                switch (ep.EpisodeTypeEnum)
                {
                case EpisodeType.Episode:
                {
                    eps++;
                    if (local)
                    {
                        local_eps++;
                    }
                    if (watched)
                    {
                        watched_eps++;
                    }
                    break;
                }

                case EpisodeType.Credits:
                {
                    credits++;
                    if (local)
                    {
                        local_credits++;
                    }
                    if (watched)
                    {
                        watched_credits++;
                    }
                    break;
                }

                case EpisodeType.Special:
                {
                    specials++;
                    if (local)
                    {
                        local_specials++;
                    }
                    if (watched)
                    {
                        watched_specials++;
                    }
                    break;
                }

                case EpisodeType.Trailer:
                {
                    trailers++;
                    if (local)
                    {
                        local_trailers++;
                    }
                    if (watched)
                    {
                        watched_trailers++;
                    }
                    break;
                }

                case EpisodeType.Parody:
                {
                    parodies++;
                    if (local)
                    {
                        local_parodies++;
                    }
                    if (watched)
                    {
                        watched_parodies++;
                    }
                    break;
                }

                case EpisodeType.Other:
                {
                    others++;
                    if (local)
                    {
                        local_others++;
                    }
                    if (watched)
                    {
                        watched_others++;
                    }
                    break;
                }
                }
            }

            size = local_eps + local_credits + local_specials + local_trailers + local_parodies + local_others;

            sizes = new Sizes
            {
                total =
                    new Sizes.EpisodeCounts()
                {
                    episodes = eps,
                    credits  = credits,
                    specials = specials,
                    trailers = trailers,
                    parodies = parodies,
                    others   = others
                },
                local = new Sizes.EpisodeCounts()
                {
                    episodes = local_eps,
                    credits  = local_credits,
                    specials = local_specials,
                    trailers = local_trailers,
                    parodies = local_parodies,
                    others   = local_others
                },
                watched = new Sizes.EpisodeCounts()
                {
                    episodes = watched_eps,
                    credits  = watched_credits,
                    specials = watched_specials,
                    trailers = watched_trailers,
                    parodies = watched_parodies,
                    others   = watched_others
                }
            };
        }