private void CreateOrSetShow(TraktShow show, IEnumerable <TraktSyncRatingsPostShowSeason> showSeasons,
                                     int?rating = null, DateTime?ratedAt = null)
        {
            var existingShow = _ratingsPost.Shows.Where(s => s.Ids == show.Ids).FirstOrDefault();

            if (existingShow != null)
            {
                existingShow.Seasons = showSeasons;
            }
            else
            {
                var ratingsShow = new TraktSyncRatingsPostShow();
                ratingsShow.Ids   = show.Ids;
                ratingsShow.Title = show.Title;
                ratingsShow.Year  = show.Year;

                if (rating.HasValue)
                {
                    ratingsShow.Rating = rating;
                }

                if (ratedAt.HasValue)
                {
                    ratingsShow.RatedAt = ratedAt.Value.ToUniversalTime();
                }

                ratingsShow.Seasons = showSeasons;
                (_ratingsPost.Shows as List <TraktSyncRatingsPostShow>).Add(ratingsShow);
            }
        }
        private TraktSyncRatingsPostBuilder AddShowOrIgnore(TraktShow show, int?rating = null, DateTime?ratedAt = null)
        {
            if (ContainsShow(show))
            {
                return(this);
            }

            var ratingsShow = new TraktSyncRatingsPostShow();

            ratingsShow.Ids   = show.Ids;
            ratingsShow.Title = show.Title;
            ratingsShow.Year  = show.Year;

            if (rating.HasValue)
            {
                ratingsShow.Rating = rating;
            }

            if (ratedAt.HasValue)
            {
                ratingsShow.RatedAt = ratedAt.Value.ToUniversalTime();
            }

            (_ratingsPost.Shows as List <TraktSyncRatingsPostShow>).Add(ratingsShow);

            return(this);
        }