Esempio n. 1
0
 private void LinkSeriesStatistics(SeriesResource resource, SeriesStatistics seriesStatistics)
 {
     resource.EpisodeCount     = seriesStatistics.EpisodeCount;
     resource.EpisodeFileCount = seriesStatistics.EpisodeFileCount;
     resource.NextAiring       = seriesStatistics.NextAiring;
     resource.PreviousAiring   = seriesStatistics.PreviousAiring;
     resource.SizeOnDisk       = seriesStatistics.SizeOnDisk;
 }
Esempio n. 2
0
        private void LinkSeriesStatistics(SeriesResource resource, SeriesStatistics seriesStatistics)
        {
            resource.PreviousAiring = seriesStatistics.PreviousAiring;
            resource.NextAiring     = seriesStatistics.NextAiring;
            resource.Statistics     = seriesStatistics.ToResource(resource.Seasons);

            if (seriesStatistics.SeasonStatistics != null)
            {
                foreach (var season in resource.Seasons)
                {
                    season.Statistics = seriesStatistics.SeasonStatistics.SingleOrDefault(s => s.SeasonNumber == season.SeasonNumber).ToResource();
                }
            }
        }
        public static SeriesStatisticsResource ToResource(this SeriesStatistics model, List <SeasonResource> seasons)
        {
            if (model == null)
            {
                return(null);
            }

            return(new SeriesStatisticsResource
            {
                SeasonCount = seasons == null ? 0 : seasons.Where(s => s.SeasonNumber > 0).Count(),
                EpisodeFileCount = model.EpisodeFileCount,
                EpisodeCount = model.EpisodeCount,
                TotalEpisodeCount = model.TotalEpisodeCount,
                SizeOnDisk = model.SizeOnDisk
            });
        }
Esempio n. 4
0
        private void LinkSeriesStatistics(SeriesResource resource, SeriesStatistics seriesStatistics)
        {
            resource.TotalEpisodeCount = seriesStatistics.TotalEpisodeCount;
            resource.EpisodeCount      = seriesStatistics.EpisodeCount;
            resource.EpisodeFileCount  = seriesStatistics.EpisodeFileCount;
            resource.NextAiring        = seriesStatistics.NextAiring;
            resource.PreviousAiring    = seriesStatistics.PreviousAiring;
            resource.SizeOnDisk        = seriesStatistics.SizeOnDisk;

            if (seriesStatistics.SeasonStatistics != null)
            {
                foreach (var season in resource.Seasons)
                {
                    season.Statistics = seriesStatistics.SeasonStatistics.SingleOrDefault(s => s.SeasonNumber == season.SeasonNumber).InjectTo <SeasonStatisticsResource>();
                }
            }
        }
Esempio n. 5
0
        private void LinkSeriesStatistics(SeriesResource resource, SeriesStatistics seriesStatistics)
        {
            resource.TotalEpisodeCount = seriesStatistics.TotalEpisodeCount;
            resource.EpisodeCount      = seriesStatistics.EpisodeCount;
            resource.EpisodeFileCount  = seriesStatistics.EpisodeFileCount;
            resource.NextAiring        = seriesStatistics.NextAiring;
            resource.PreviousAiring    = seriesStatistics.PreviousAiring;
            resource.SizeOnDisk        = seriesStatistics.SizeOnDisk;

            if (seriesStatistics.SeasonStatistics != null)
            {
                var dictSeasonStats = seriesStatistics.SeasonStatistics.ToDictionary(v => v.SeasonNumber);

                foreach (var season in resource.Seasons)
                {
                    season.Statistics = dictSeasonStats.GetValueOrDefault(season.SeasonNumber).ToResource();
                }
            }
        }
Esempio n. 6
0
 private void LinkSeriesStatistics(SeriesResource resource, SeriesStatistics seriesStatistics)
 {
     resource.EpisodeCount     = seriesStatistics.EpisodeCount;
     resource.EpisodeFileCount = seriesStatistics.EpisodeFileCount;
     resource.NextAiring       = seriesStatistics.NextAiring;
 }
        private async void Base_Loaded(object sender, RoutedEventArgs e)
        {
            List <SeriesStatistics> stats = new List <SeriesStatistics>();
            double totalSize = 0;
            await Task.Run(() => {
                var list = Database.GetSeries();
                foreach (var item in list)
                {
                    SeriesStatistics statistics = new SeriesStatistics();
                    statistics.Files            = new DirectoryInfo(item.libraryPath).GetFiles("*.*", SearchOption.AllDirectories).ToList();
                    statistics.Series           = item;
                    statistics.Files.ForEach(x => {
                        totalSize       += x.Length;
                        statistics.Size += x.Length;
                    });
                    stats.Add(statistics);
                }
                double totalTemp = 0;
                for (int i = 0; i < stats.Count; i++)
                {
                    totalTemp += stats[i].SizePercentage = (stats[i].Size / totalSize) * 100;
                }
                stats = stats.OrderByDescending(x => x.SizePercentage).ToList();
                for (int i = stats.Count - 1; i >= 0; i--)
                {
                    var percentage = (stats[i].SizePercentage / stats[0].SizePercentage) * 100;
                    if (percentage < 5)
                    {
                        stats.RemoveAt(i);
                    }
                    else
                    {
                        stats[i].RecalculatedPercentage = percentage;
                    }
                }
            });

            for (int i = 0; i < stats.Count; i++)
            {
                var  baseColumn  = new ColumnDefinition();
                Grid baseGrid    = new Grid();
                var  spacerLeft  = new ColumnDefinition();
                var  spacerRight = new ColumnDefinition();
                spacerLeft.Width  = new GridLength(250 / stats.Count, GridUnitType.Star);
                spacerRight.Width = new GridLength(250 / stats.Count, GridUnitType.Star);
                baseColumn.Width  = new GridLength(1000 / stats.Count, GridUnitType.Star);
                Base.ColumnDefinitions.Add(spacerLeft);
                Base.ColumnDefinitions.Add(baseColumn);
                Base.ColumnDefinitions.Add(spacerRight);
                Base.Children.Add(baseGrid);
                Grid.SetColumn(baseGrid, (i + (i * 2)) + 1);
                var topRow = new RowDefinition();
                topRow.Height = new GridLength(100 - stats[i].RecalculatedPercentage, GridUnitType.Star);
                var bottomRow = new RowDefinition();
                bottomRow.Height = new GridLength(stats[i].RecalculatedPercentage, GridUnitType.Star);
                baseGrid.RowDefinitions.Add(topRow);
                baseGrid.RowDefinitions.Add(bottomRow);
                Grid statGrid = new Grid();
                statGrid.ToolTip    = stats[i].Series.seriesName + ", " + GetSize(stats[i].Size) + ", " + stats[i].SizePercentage.ToString("N2").Replace(",", ".") + "%";
                statGrid.Background = (Brush)FindResource("AccentColor");
                baseGrid.Children.Add(statGrid);
                Grid.SetRow(statGrid, 1);
            }
            TopText.Text = "Total disk usage: " + GetSize(totalSize);
            DoubleAnimation doubleAnimation = new DoubleAnimation(0, 245, new TimeSpan(0, 0, 0, 0, 500));

            Base.BeginAnimation(Grid.HeightProperty, doubleAnimation);
            Base.BeginStoryboard((Storyboard)FindResource("OpacityUp"));
        }