public override async Task WriteObjectAsync(JsonTextWriter jsonWriter, ITraktSyncRatingsPostEpisode obj, CancellationToken cancellationToken = default)
        {
            if (jsonWriter == null)
            {
                throw new ArgumentNullException(nameof(jsonWriter));
            }

            await jsonWriter.WriteStartObjectAsync(cancellationToken).ConfigureAwait(false);

            if (obj.RatedAt.HasValue)
            {
                await jsonWriter.WritePropertyNameAsync(JsonProperties.SYNC_RATINGS_POST_EPISODE_PROPERTY_NAME_RATED_AT, cancellationToken).ConfigureAwait(false);

                await jsonWriter.WriteValueAsync(obj.RatedAt.Value.ToTraktLongDateTimeString(), cancellationToken).ConfigureAwait(false);
            }

            if (obj.Rating.HasValue)
            {
                await jsonWriter.WritePropertyNameAsync(JsonProperties.SYNC_RATINGS_POST_EPISODE_PROPERTY_NAME_RATING, cancellationToken).ConfigureAwait(false);

                await jsonWriter.WriteValueAsync(obj.Rating, cancellationToken).ConfigureAwait(false);
            }

            if (obj.Ids != null)
            {
                var episodeIdsObjectJsonWriter = new EpisodeIdsObjectJsonWriter();
                await jsonWriter.WritePropertyNameAsync(JsonProperties.SYNC_RATINGS_POST_EPISODE_PROPERTY_NAME_IDS, cancellationToken).ConfigureAwait(false);

                await episodeIdsObjectJsonWriter.WriteObjectAsync(jsonWriter, obj.Ids, cancellationToken).ConfigureAwait(false);
            }

            await jsonWriter.WriteEndObjectAsync(cancellationToken).ConfigureAwait(false);
        }
 public async Task Test_EpisodeIdsObjectJsonWriter_WriteObject_JsonWriter_Exceptions()
 {
     var traktJsonWriter = new EpisodeIdsObjectJsonWriter();
     ITraktEpisodeIds traktEpisodeIds = new TraktEpisodeIds();
     Func <Task>      action          = () => traktJsonWriter.WriteObjectAsync(default(JsonTextWriter), traktEpisodeIds);
     await action.Should().ThrowAsync <ArgumentNullException>();
 }
Beispiel #3
0
        public void Test_EpisodeIdsObjectJsonWriter_WriteObject_Object_Exceptions()
        {
            var traktJsonWriter          = new EpisodeIdsObjectJsonWriter();
            Func <Task <string> > action = () => traktJsonWriter.WriteObjectAsync(default(ITraktEpisodeIds));

            action.Should().Throw <ArgumentNullException>();
        }
Beispiel #4
0
        public async Task Test_EpisodeIdsObjectJsonWriter_WriteObject_Object_Only_TvRage_Property()
        {
            ITraktEpisodeIds traktEpisodeIds = new TraktEpisodeIds
            {
                TvRage = 101
            };

            var    traktJsonWriter = new EpisodeIdsObjectJsonWriter();
            string json            = await traktJsonWriter.WriteObjectAsync(traktEpisodeIds);

            json.Should().Be(@"{""trakt"":0,""tvrage"":101}");
        }
Beispiel #5
0
        public async Task Test_EpisodeIdsObjectJsonWriter_WriteObject_Object_Only_Tmdb_Property()
        {
            ITraktEpisodeIds traktEpisodeIds = new TraktEpisodeIds
            {
                Tmdb = 789
            };

            var    traktJsonWriter = new EpisodeIdsObjectJsonWriter();
            string json            = await traktJsonWriter.WriteObjectAsync(traktEpisodeIds);

            json.Should().Be(@"{""trakt"":0,""tmdb"":789}");
        }
        public override async Task WriteObjectAsync(JsonTextWriter jsonWriter, ITraktSyncWatchlistPostEpisode obj, CancellationToken cancellationToken = default)
        {
            CheckJsonTextWriter(jsonWriter);
            await jsonWriter.WriteStartObjectAsync(cancellationToken).ConfigureAwait(false);

            if (obj.Ids != null)
            {
                var episodeIdsObjectJsonWriter = new EpisodeIdsObjectJsonWriter();
                await jsonWriter.WritePropertyNameAsync(JsonProperties.PROPERTY_NAME_IDS, cancellationToken).ConfigureAwait(false);

                await episodeIdsObjectJsonWriter.WriteObjectAsync(jsonWriter, obj.Ids, cancellationToken).ConfigureAwait(false);
            }

            await jsonWriter.WriteEndObjectAsync(cancellationToken).ConfigureAwait(false);
        }
Beispiel #7
0
        public async Task Test_EpisodeIdsObjectJsonWriter_WriteObject_StringWriter_Only_Imdb_Property()
        {
            ITraktEpisodeIds traktEpisodeIds = new TraktEpisodeIds
            {
                Imdb = "ids imdb"
            };

            using (var stringWriter = new StringWriter())
            {
                var    traktJsonWriter = new EpisodeIdsObjectJsonWriter();
                string json            = await traktJsonWriter.WriteObjectAsync(stringWriter, traktEpisodeIds);

                json.Should().Be(@"{""trakt"":0,""imdb"":""ids imdb""}");
            }
        }
Beispiel #8
0
        public async Task Test_EpisodeIdsObjectJsonWriter_WriteObject_StringWriter_Only_Trakt_Property()
        {
            ITraktEpisodeIds traktEpisodeIds = new TraktEpisodeIds
            {
                Trakt = 123
            };

            using (var stringWriter = new StringWriter())
            {
                var    traktJsonWriter = new EpisodeIdsObjectJsonWriter();
                string json            = await traktJsonWriter.WriteObjectAsync(stringWriter, traktEpisodeIds);

                json.Should().Be(@"{""trakt"":123}");
            }
        }
        public async Task Test_EpisodeIdsObjectJsonWriter_WriteObject_JsonWriter_Only_TvRage_Property()
        {
            ITraktEpisodeIds traktEpisodeIds = new TraktEpisodeIds
            {
                TvRage = 101
            };

            using (var stringWriter = new StringWriter())
                using (var jsonWriter = new JsonTextWriter(stringWriter))
                {
                    var traktJsonWriter = new EpisodeIdsObjectJsonWriter();
                    await traktJsonWriter.WriteObjectAsync(jsonWriter, traktEpisodeIds);

                    stringWriter.ToString().Should().Be(@"{""trakt"":0,""tvrage"":101}");
                }
        }
Beispiel #10
0
        public async Task Test_EpisodeIdsObjectJsonWriter_WriteObject_Object_Complete()
        {
            ITraktEpisodeIds traktEpisodeIds = new TraktEpisodeIds
            {
                Trakt  = 123,
                Tvdb   = 456,
                Imdb   = "ids imdb",
                Tmdb   = 789,
                TvRage = 101
            };

            var    traktJsonWriter = new EpisodeIdsObjectJsonWriter();
            string json            = await traktJsonWriter.WriteObjectAsync(traktEpisodeIds);

            json.Should().Be(@"{""trakt"":123,""tvdb"":456," +
                             @"""imdb"":""ids imdb"",""tmdb"":789,""tvrage"":101}");
        }
        protected override async Task WriteMetadataObjectAsync(JsonTextWriter jsonWriter, ITraktSyncCollectionPostEpisode obj, CancellationToken cancellationToken = default)
        {
            if (obj.CollectedAt.HasValue)
            {
                await jsonWriter.WritePropertyNameAsync(JsonProperties.SYNC_COLLECTION_POST_EPISODE_PROPERTY_NAME_COLLECTED_AT, cancellationToken).ConfigureAwait(false);

                await jsonWriter.WriteValueAsync(obj.CollectedAt.Value.ToTraktLongDateTimeString(), cancellationToken).ConfigureAwait(false);
            }

            if (obj.Ids != null)
            {
                var episodeIdsObjectJsonWriter = new EpisodeIdsObjectJsonWriter();
                await jsonWriter.WritePropertyNameAsync(JsonProperties.SYNC_COLLECTION_POST_EPISODE_PROPERTY_NAME_IDS, cancellationToken).ConfigureAwait(false);

                await episodeIdsObjectJsonWriter.WriteObjectAsync(jsonWriter, obj.Ids, cancellationToken).ConfigureAwait(false);
            }

            await base.WriteMetadataObjectAsync(jsonWriter, obj, cancellationToken).ConfigureAwait(false);
        }
        public override async Task WriteObjectAsync(JsonTextWriter jsonWriter, ITraktPostResponseNotFoundEpisode obj, CancellationToken cancellationToken = default)
        {
            if (jsonWriter == null)
            {
                throw new ArgumentNullException(nameof(jsonWriter));
            }

            await jsonWriter.WriteStartObjectAsync(cancellationToken).ConfigureAwait(false);

            if (obj.Ids != null)
            {
                var episodeIdsObjectJsonWriter = new EpisodeIdsObjectJsonWriter();
                await jsonWriter.WritePropertyNameAsync(JsonProperties.POST_RESPONSE_NOT_FOUND_EPISODE_PROPERTY_NAME_IDS, cancellationToken).ConfigureAwait(false);

                await episodeIdsObjectJsonWriter.WriteObjectAsync(jsonWriter, obj.Ids, cancellationToken).ConfigureAwait(false);
            }

            await jsonWriter.WriteEndObjectAsync(cancellationToken).ConfigureAwait(false);
        }
        public override async Task WriteObjectAsync(JsonTextWriter jsonWriter, ITraktSyncWatchlistPostEpisode obj, CancellationToken cancellationToken = default)
        {
            if (jsonWriter == null)
            {
                throw new ArgumentNullException(nameof(jsonWriter));
            }

            await jsonWriter.WriteStartObjectAsync(cancellationToken).ConfigureAwait(false);

            if (obj.Ids != null)
            {
                var episodeIdsObjectJsonWriter = new EpisodeIdsObjectJsonWriter();
                await jsonWriter.WritePropertyNameAsync(JsonProperties.SYNC_WATCHLIST_POST_EPISODE_PROPERTY_NAME_IDS, cancellationToken).ConfigureAwait(false);

                await episodeIdsObjectJsonWriter.WriteObjectAsync(jsonWriter, obj.Ids, cancellationToken).ConfigureAwait(false);
            }

            await jsonWriter.WriteEndObjectAsync(cancellationToken).ConfigureAwait(false);
        }
        public async Task Test_EpisodeIdsObjectJsonWriter_WriteObject_JsonWriter_Complete()
        {
            ITraktEpisodeIds traktEpisodeIds = new TraktEpisodeIds
            {
                Trakt  = 123,
                Tvdb   = 456,
                Imdb   = "ids imdb",
                Tmdb   = 789,
                TvRage = 101
            };

            using (var stringWriter = new StringWriter())
                using (var jsonWriter = new JsonTextWriter(stringWriter))
                {
                    var traktJsonWriter = new EpisodeIdsObjectJsonWriter();
                    await traktJsonWriter.WriteObjectAsync(jsonWriter, traktEpisodeIds);

                    stringWriter.ToString().Should().Be(@"{""trakt"":123,""tvdb"":456," +
                                                        @"""imdb"":""ids imdb"",""tmdb"":789,""tvrage"":101}");
                }
        }
        public override async Task WriteObjectAsync(JsonTextWriter jsonWriter, ITraktSyncHistoryPostEpisode obj, CancellationToken cancellationToken = default)
        {
            CheckJsonTextWriter(jsonWriter);
            await jsonWriter.WriteStartObjectAsync(cancellationToken).ConfigureAwait(false);

            if (obj.WatchedAt.HasValue)
            {
                await jsonWriter.WritePropertyNameAsync(JsonProperties.PROPERTY_NAME_WATCHED_AT, cancellationToken).ConfigureAwait(false);

                await jsonWriter.WriteValueAsync(obj.WatchedAt.Value.ToTraktLongDateTimeString(), cancellationToken).ConfigureAwait(false);
            }

            if (obj.Ids != null)
            {
                var episodeIdsObjectJsonWriter = new EpisodeIdsObjectJsonWriter();
                await jsonWriter.WritePropertyNameAsync(JsonProperties.PROPERTY_NAME_IDS, cancellationToken).ConfigureAwait(false);

                await episodeIdsObjectJsonWriter.WriteObjectAsync(jsonWriter, obj.Ids, cancellationToken).ConfigureAwait(false);
            }

            await jsonWriter.WriteEndObjectAsync(cancellationToken).ConfigureAwait(false);
        }
        public override async Task WriteObjectAsync(JsonTextWriter jsonWriter, ITraktSyncRatingsPostResponseNotFoundEpisode obj, CancellationToken cancellationToken = default)
        {
            CheckJsonTextWriter(jsonWriter);
            await jsonWriter.WriteStartObjectAsync(cancellationToken).ConfigureAwait(false);

            if (obj.Rating.HasValue)
            {
                await jsonWriter.WritePropertyNameAsync(JsonProperties.PROPERTY_NAME_RATING, cancellationToken).ConfigureAwait(false);

                await jsonWriter.WriteValueAsync(obj.Rating, cancellationToken).ConfigureAwait(false);
            }

            if (obj.Ids != null)
            {
                var episodeIdsObjectJsonWriter = new EpisodeIdsObjectJsonWriter();
                await jsonWriter.WritePropertyNameAsync(JsonProperties.PROPERTY_NAME_IDS, cancellationToken).ConfigureAwait(false);

                await episodeIdsObjectJsonWriter.WriteObjectAsync(jsonWriter, obj.Ids, cancellationToken).ConfigureAwait(false);
            }

            await jsonWriter.WriteEndObjectAsync(cancellationToken).ConfigureAwait(false);
        }