protected void UpdateBlogStats(bool add) { if (add) { Blog.TotalCount += StatisticsBag.Count; Blog.Photos += StatisticsBag.Count(url => url.GetType() == typeof(PhotoPost)); Blog.Videos += StatisticsBag.Count(url => url.GetType() == typeof(VideoPost)); Blog.Audios += StatisticsBag.Count(url => url.GetType() == typeof(AudioPost)); Blog.Texts += StatisticsBag.Count(url => url.GetType() == typeof(TextPost)); Blog.Answers += StatisticsBag.Count(url => url.GetType() == typeof(AnswerPost)); Blog.Conversations += StatisticsBag.Count(url => url.GetType() == typeof(ConversationPost)); Blog.Quotes += StatisticsBag.Count(url => url.GetType() == typeof(QuotePost)); Blog.NumberOfLinks += StatisticsBag.Count(url => url.GetType() == typeof(LinkPost)); Blog.PhotoMetas += StatisticsBag.Count(url => url.GetType() == typeof(PhotoMetaPost)); Blog.VideoMetas += StatisticsBag.Count(url => url.GetType() == typeof(VideoMetaPost)); Blog.AudioMetas += StatisticsBag.Count(url => url.GetType() == typeof(AudioMetaPost)); } else { Blog.TotalCount = StatisticsBag.Count; Blog.Photos = StatisticsBag.Count(url => url.GetType() == typeof(PhotoPost)); Blog.Videos = StatisticsBag.Count(url => url.GetType() == typeof(VideoPost)); Blog.Audios = StatisticsBag.Count(url => url.GetType() == typeof(AudioPost)); Blog.Texts = StatisticsBag.Count(url => url.GetType() == typeof(TextPost)); Blog.Answers = StatisticsBag.Count(url => url.GetType() == typeof(AnswerPost)); Blog.Conversations = StatisticsBag.Count(url => url.GetType() == typeof(ConversationPost)); Blog.Quotes = StatisticsBag.Count(url => url.GetType() == typeof(QuotePost)); Blog.NumberOfLinks = StatisticsBag.Count(url => url.GetType() == typeof(LinkPost)); Blog.PhotoMetas = StatisticsBag.Count(url => url.GetType() == typeof(PhotoMetaPost)); Blog.VideoMetas = StatisticsBag.Count(url => url.GetType() == typeof(VideoMetaPost)); Blog.AudioMetas = StatisticsBag.Count(url => url.GetType() == typeof(AudioMetaPost)); } }
protected int DetermineDuplicates <T>() => StatisticsBag.Where(url => url.GetType() == typeof(T)) .GroupBy(url => url.Url) .Where(g => g.Count() > 1) .Sum(g => g.Count() - 1);
protected void AddToDownloadList(TumblrPost addToList) { PostQueue.Add(addToList); StatisticsBag.Add(addToList); }