public void Test_SharingObjectJsonReader_ReadObject_From_JsonReader_Null() { var traktJsonReader = new SharingObjectJsonReader(); Func <Task <ITraktSharing> > traktSharing = () => traktJsonReader.ReadObjectAsync(default(JsonTextReader)); traktSharing.Should().Throw <ArgumentNullException>(); }
public async Task Test_SharingObjectJsonReader_ReadObject_From_Json_String_Empty() { var jsonReader = new SharingObjectJsonReader(); var traktSharing = await jsonReader.ReadObjectAsync(string.Empty); traktSharing.Should().BeNull(); }
public async Task Test_SharingObjectJsonReader_ReadObject_From_Stream_Null() { var traktJsonReader = new SharingObjectJsonReader(); var traktSharing = await traktJsonReader.ReadObjectAsync(default(Stream)); traktSharing.Should().BeNull(); }
public override async Task <ITraktEpisodeCommentPost> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { if (jsonReader == null) { return(await Task.FromResult(default(ITraktEpisodeCommentPost))); } if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { var sharingReader = new SharingObjectJsonReader(); var episodeReader = new EpisodeObjectJsonReader(); ITraktEpisodeCommentPost episodeCommentPost = new TraktEpisodeCommentPost(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.COMMENT_POST_PROPERTY_NAME_COMMENT: episodeCommentPost.Comment = await jsonReader.ReadAsStringAsync(cancellationToken); break; case JsonProperties.COMMENT_POST_PROPERTY_NAME_SPOILER: { bool?value = await jsonReader.ReadAsBooleanAsync(cancellationToken); if (value.HasValue) { episodeCommentPost.Spoiler = value.Value; } break; } case JsonProperties.COMMENT_POST_PROPERTY_NAME_SHARING: episodeCommentPost.Sharing = await sharingReader.ReadObjectAsync(jsonReader, cancellationToken); break; case JsonProperties.EPISODE_COMMENT_POST_PROPERTY_NAME_EPISODE: episodeCommentPost.Episode = await episodeReader.ReadObjectAsync(jsonReader, cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(episodeCommentPost); } return(await Task.FromResult(default(ITraktEpisodeCommentPost))); }
public override async Task <ITraktListCommentPost> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { CheckJsonTextReader(jsonReader); if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { var sharingReader = new SharingObjectJsonReader(); var listReader = new ListObjectJsonReader(); ITraktListCommentPost listCommentPost = new TraktListCommentPost(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.PROPERTY_NAME_COMMENT: listCommentPost.Comment = await jsonReader.ReadAsStringAsync(cancellationToken); break; case JsonProperties.PROPERTY_NAME_SPOILER: { bool?value = await jsonReader.ReadAsBooleanAsync(cancellationToken); if (value.HasValue) { listCommentPost.Spoiler = value.Value; } break; } case JsonProperties.PROPERTY_NAME_SHARING: listCommentPost.Sharing = await sharingReader.ReadObjectAsync(jsonReader, cancellationToken); break; case JsonProperties.PROPERTY_NAME_LIST: listCommentPost.List = await listReader.ReadObjectAsync(jsonReader, cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(listCommentPost); } return(await Task.FromResult(default(ITraktListCommentPost))); }
public async Task Test_SharingObjectJsonReader_ReadObject_From_Stream_Empty() { var traktJsonReader = new SharingObjectJsonReader(); using (var stream = string.Empty.ToStream()) { var traktSharing = await traktJsonReader.ReadObjectAsync(stream); traktSharing.Should().BeNull(); } }
public override async Task <ITraktUserSettings> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { if (jsonReader == null) { return(await Task.FromResult(default(ITraktUserSettings))); } if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { var userReader = new UserObjectJsonReader(); var accountSettingsReader = new AccountSettingsObjectJsonReader(); var sharingReader = new SharingObjectJsonReader(); var sharingTextReader = new SharingTextObjectJsonReader(); ITraktUserSettings traktUserSettings = new TraktUserSettings(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.USER_SETTINGS_PROPERTY_NAME_USER: traktUserSettings.User = await userReader.ReadObjectAsync(jsonReader, cancellationToken); break; case JsonProperties.USER_SETTINGS_PROPERTY_NAME_ACCOUNT: traktUserSettings.Account = await accountSettingsReader.ReadObjectAsync(jsonReader, cancellationToken); break; case JsonProperties.USER_SETTINGS_PROPERTY_NAME_CONNECTIONS: traktUserSettings.Connections = await sharingReader.ReadObjectAsync(jsonReader, cancellationToken); break; case JsonProperties.USER_SETTINGS_PROPERTY_NAME_SHARING_TEXT: traktUserSettings.SharingText = await sharingTextReader.ReadObjectAsync(jsonReader, cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(traktUserSettings); } return(await Task.FromResult(default(ITraktUserSettings))); }
public async Task Test_SharingObjectJsonReader_ReadObject_From_JsonReader_Empty() { var traktJsonReader = new SharingObjectJsonReader(); using (var reader = new StringReader(string.Empty)) using (var jsonReader = new JsonTextReader(reader)) { var traktSharing = await traktJsonReader.ReadObjectAsync(jsonReader); traktSharing.Should().BeNull(); } }
public async Task Test_TraktSharing_From_Json() { var jsonReader = new SharingObjectJsonReader(); var traktSharing = await jsonReader.ReadObjectAsync(JSON) as TraktSharing; traktSharing.Should().NotBeNull(); traktSharing.Twitter.Should().BeTrue(); traktSharing.Google.Should().BeTrue(); traktSharing.Tumblr.Should().BeTrue(); traktSharing.Medium.Should().BeTrue(); traktSharing.Slack.Should().BeTrue(); }
public async Task Test_SharingObjectJsonReader_ReadObject_From_Json_String_Incomplete_5() { var jsonReader = new SharingObjectJsonReader(); var traktSharing = await jsonReader.ReadObjectAsync(JSON_INCOMPLETE_5); traktSharing.Should().NotBeNull(); traktSharing.Twitter.Should().BeTrue(); traktSharing.Google.Should().BeTrue(); traktSharing.Tumblr.Should().BeTrue(); traktSharing.Medium.Should().BeTrue(); traktSharing.Slack.Should().BeNull(); }
public async Task Test_SharingObjectJsonReader_ReadObject_From_Json_String_Not_Valid_6() { var jsonReader = new SharingObjectJsonReader(); var traktSharing = await jsonReader.ReadObjectAsync(JSON_NOT_VALID_6); traktSharing.Should().NotBeNull(); traktSharing.Twitter.Should().BeNull(); traktSharing.Google.Should().BeNull(); traktSharing.Tumblr.Should().BeNull(); traktSharing.Medium.Should().BeNull(); traktSharing.Slack.Should().BeNull(); }
public async Task Test_SharingObjectJsonReader_ReadObject_From_Stream_Not_Valid_6() { var traktJsonReader = new SharingObjectJsonReader(); using (var stream = JSON_NOT_VALID_6.ToStream()) { var traktSharing = await traktJsonReader.ReadObjectAsync(stream); traktSharing.Should().NotBeNull(); traktSharing.Twitter.Should().BeNull(); traktSharing.Google.Should().BeNull(); traktSharing.Tumblr.Should().BeNull(); traktSharing.Medium.Should().BeNull(); traktSharing.Slack.Should().BeNull(); } }
public async Task Test_SharingObjectJsonReader_ReadObject_From_Stream_Incomplete_4() { var traktJsonReader = new SharingObjectJsonReader(); using (var stream = JSON_INCOMPLETE_4.ToStream()) { var traktSharing = await traktJsonReader.ReadObjectAsync(stream); traktSharing.Should().NotBeNull(); traktSharing.Twitter.Should().BeTrue(); traktSharing.Google.Should().BeTrue(); traktSharing.Tumblr.Should().BeTrue(); traktSharing.Medium.Should().BeNull(); traktSharing.Slack.Should().BeTrue(); } }
public async Task Test_SharingObjectJsonReader_ReadObject_From_JsonReader_Incomplete_4() { var traktJsonReader = new SharingObjectJsonReader(); using (var reader = new StringReader(JSON_INCOMPLETE_4)) using (var jsonReader = new JsonTextReader(reader)) { var traktSharing = await traktJsonReader.ReadObjectAsync(jsonReader); traktSharing.Should().NotBeNull(); traktSharing.Twitter.Should().BeTrue(); traktSharing.Google.Should().BeTrue(); traktSharing.Tumblr.Should().BeTrue(); traktSharing.Medium.Should().BeNull(); traktSharing.Slack.Should().BeTrue(); } }
public async Task Test_SharingObjectJsonReader_ReadObject_From_JsonReader_Not_Valid_6() { var traktJsonReader = new SharingObjectJsonReader(); using (var reader = new StringReader(JSON_NOT_VALID_6)) using (var jsonReader = new JsonTextReader(reader)) { var traktSharing = await traktJsonReader.ReadObjectAsync(jsonReader); traktSharing.Should().NotBeNull(); traktSharing.Twitter.Should().BeNull(); traktSharing.Google.Should().BeNull(); traktSharing.Tumblr.Should().BeNull(); traktSharing.Medium.Should().BeNull(); traktSharing.Slack.Should().BeNull(); } }
public override async Task <ITraktCommentPostResponse> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { if (jsonReader == null) { return(await Task.FromResult(default(ITraktCommentPostResponse))); } if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { var userReader = new UserObjectJsonReader(); var sharingReader = new SharingObjectJsonReader(); ITraktCommentPostResponse traktCommentPostResponse = new TraktCommentPostResponse(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.COMMENT_PROPERTY_NAME_ID: { var value = await JsonReaderHelper.ReadUnsignedIntegerValueAsync(jsonReader, cancellationToken); if (value.First) { traktCommentPostResponse.Id = value.Second; } break; } case JsonProperties.COMMENT_PROPERTY_NAME_PARENT_ID: { var value = await JsonReaderHelper.ReadUnsignedIntegerValueAsync(jsonReader, cancellationToken); if (value.First) { traktCommentPostResponse.ParentId = value.Second; } break; } case JsonProperties.COMMENT_PROPERTY_NAME_CREATED_AT: { var value = await JsonReaderHelper.ReadDateTimeValueAsync(jsonReader, cancellationToken); if (value.First) { traktCommentPostResponse.CreatedAt = value.Second; } break; } case JsonProperties.COMMENT_PROPERTY_NAME_UPDATED_AT: { var value = await JsonReaderHelper.ReadDateTimeValueAsync(jsonReader, cancellationToken); if (value.First) { traktCommentPostResponse.UpdatedAt = value.Second; } break; } case JsonProperties.COMMENT_PROPERTY_NAME_COMMENT: traktCommentPostResponse.Comment = await jsonReader.ReadAsStringAsync(cancellationToken); break; case JsonProperties.COMMENT_PROPERTY_NAME_SPOILER: traktCommentPostResponse.Spoiler = (bool)await jsonReader.ReadAsBooleanAsync(cancellationToken); break; case JsonProperties.COMMENT_PROPERTY_NAME_REVIEW: traktCommentPostResponse.Review = (bool)await jsonReader.ReadAsBooleanAsync(cancellationToken); break; case JsonProperties.COMMENT_PROPERTY_NAME_REPLIES: traktCommentPostResponse.Replies = await jsonReader.ReadAsInt32Async(cancellationToken); break; case JsonProperties.COMMENT_PROPERTY_NAME_LIKES: traktCommentPostResponse.Likes = await jsonReader.ReadAsInt32Async(cancellationToken); break; case JsonProperties.COMMENT_PROPERTY_NAME_USER_RATING: { var value = await JsonReaderHelper.ReadFloatValueAsync(jsonReader, cancellationToken); if (value.First) { traktCommentPostResponse.UserRating = value.Second; } break; } case JsonProperties.COMMENT_PROPERTY_NAME_USER: traktCommentPostResponse.User = await userReader.ReadObjectAsync(jsonReader, cancellationToken); break; case JsonProperties.COMMENT_POST_RESPONSE_PROPERTY_NAME_SHARING: traktCommentPostResponse.Sharing = await sharingReader.ReadObjectAsync(jsonReader, cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(traktCommentPostResponse); } return(await Task.FromResult(default(ITraktCommentPostResponse))); }
public override async Task <ITraktMovieScrobblePostResponse> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { if (jsonReader == null) { return(await Task.FromResult(default(ITraktMovieScrobblePostResponse))); } if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { var sharingReader = new SharingObjectJsonReader(); var movieReader = new MovieObjectJsonReader(); ITraktMovieScrobblePostResponse movieScrobbleResponse = new TraktMovieScrobblePostResponse(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.SCROBBLE_POST_RESPONSE_PROPERTY_NAME_ID: { var value = await JsonReaderHelper.ReadUnsignedLongIntegerAsync(jsonReader, cancellationToken); if (value.First) { movieScrobbleResponse.Id = value.Second; } break; } case JsonProperties.SCROBBLE_POST_RESPONSE_PROPERTY_NAME_ACTION: movieScrobbleResponse.Action = await JsonReaderHelper.ReadEnumerationValueAsync <TraktScrobbleActionType>(jsonReader, cancellationToken); break; case JsonProperties.SCROBBLE_POST_RESPONSE_PROPERTY_NAME_PROGRESS: { var value = await JsonReaderHelper.ReadFloatValueAsync(jsonReader, cancellationToken); if (value.First) { movieScrobbleResponse.Progress = value.Second; } break; } case JsonProperties.SCROBBLE_POST_RESPONSE_PROPERTY_NAME_SHARING: movieScrobbleResponse.Sharing = await sharingReader.ReadObjectAsync(jsonReader, cancellationToken); break; case JsonProperties.MOVIE_SCROBBLE_POST_RESPONSE_PROPERTY_NAME_MOVIE: movieScrobbleResponse.Movie = await movieReader.ReadObjectAsync(jsonReader, cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(movieScrobbleResponse); } return(await Task.FromResult(default(ITraktMovieScrobblePostResponse))); }
public override async Task <ITraktEpisodeCheckinPost> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { CheckJsonTextReader(jsonReader); if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { var sharingReader = new SharingObjectJsonReader(); var episodeReader = new EpisodeObjectJsonReader(); var showReader = new ShowObjectJsonReader(); ITraktEpisodeCheckinPost episodeCheckinPost = new TraktEpisodeCheckinPost(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.PROPERTY_NAME_SHARING: episodeCheckinPost.Sharing = await sharingReader.ReadObjectAsync(jsonReader, cancellationToken); break; case JsonProperties.PROPERTY_NAME_MESSAGE: episodeCheckinPost.Message = await jsonReader.ReadAsStringAsync(cancellationToken); break; case JsonProperties.PROPERTY_NAME_APP_VERSION: episodeCheckinPost.AppVersion = await jsonReader.ReadAsStringAsync(cancellationToken); break; case JsonProperties.PROPERTY_NAME_APP_DATE: episodeCheckinPost.AppDate = await jsonReader.ReadAsStringAsync(cancellationToken); break; case JsonProperties.PROPERTY_NAME_VENUE_ID: episodeCheckinPost.FoursquareVenueId = await jsonReader.ReadAsStringAsync(cancellationToken); break; case JsonProperties.PROPERTY_NAME_VENUE_NAME: episodeCheckinPost.FoursquareVenueName = await jsonReader.ReadAsStringAsync(cancellationToken); break; case JsonProperties.PROPERTY_NAME_SHOW: episodeCheckinPost.Show = await showReader.ReadObjectAsync(jsonReader, cancellationToken); break; case JsonProperties.PROPERTY_NAME_EPISODE: episodeCheckinPost.Episode = await episodeReader.ReadObjectAsync(jsonReader, cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(episodeCheckinPost); } return(await Task.FromResult(default(ITraktEpisodeCheckinPost))); }
public override async Task <ITraktEpisodeScrobblePostResponse> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { CheckJsonTextReader(jsonReader); if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { var sharingReader = new SharingObjectJsonReader(); var episodeReader = new EpisodeObjectJsonReader(); var showReader = new ShowObjectJsonReader(); ITraktEpisodeScrobblePostResponse episodeScrobbleResponse = new TraktEpisodeScrobblePostResponse(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.PROPERTY_NAME_ID: { var value = await JsonReaderHelper.ReadUnsignedLongValueAsync(jsonReader, cancellationToken); if (value.First) { episodeScrobbleResponse.Id = value.Second; } break; } case JsonProperties.PROPERTY_NAME_ACTION: episodeScrobbleResponse.Action = await JsonReaderHelper.ReadEnumerationValueAsync <TraktScrobbleActionType>(jsonReader, cancellationToken); break; case JsonProperties.PROPERTY_NAME_PROGRESS: { var value = await JsonReaderHelper.ReadFloatValueAsync(jsonReader, cancellationToken); if (value.First) { episodeScrobbleResponse.Progress = value.Second; } break; } case JsonProperties.PROPERTY_NAME_SHARING: episodeScrobbleResponse.Sharing = await sharingReader.ReadObjectAsync(jsonReader, cancellationToken); break; case JsonProperties.PROPERTY_NAME_EPISODE: episodeScrobbleResponse.Episode = await episodeReader.ReadObjectAsync(jsonReader, cancellationToken); break; case JsonProperties.PROPERTY_NAME_SHOW: episodeScrobbleResponse.Show = await showReader.ReadObjectAsync(jsonReader, cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(episodeScrobbleResponse); } return(await Task.FromResult(default(ITraktEpisodeScrobblePostResponse))); }
public override async Task <ITraktMovieCheckinPost> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { if (jsonReader == null) { return(await Task.FromResult(default(ITraktMovieCheckinPost))); } if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { var sharingReader = new SharingObjectJsonReader(); var movieReader = new MovieObjectJsonReader(); ITraktMovieCheckinPost movieCheckinPost = new TraktMovieCheckinPost(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.CHECKIN_POST_PROPERTY_NAME_SHARING: movieCheckinPost.Sharing = await sharingReader.ReadObjectAsync(jsonReader, cancellationToken); break; case JsonProperties.CHECKIN_POST_PROPERTY_NAME_MESSAGE: movieCheckinPost.Message = await jsonReader.ReadAsStringAsync(cancellationToken); break; case JsonProperties.CHECKIN_POST_PROPERTY_NAME_APP_VERSION: movieCheckinPost.AppVersion = await jsonReader.ReadAsStringAsync(cancellationToken); break; case JsonProperties.CHECKIN_POST_PROPERTY_NAME_APP_DATE: movieCheckinPost.AppDate = await jsonReader.ReadAsStringAsync(cancellationToken); break; case JsonProperties.CHECKIN_POST_PROPERTY_NAME_VENUE_ID: movieCheckinPost.FoursquareVenueId = await jsonReader.ReadAsStringAsync(cancellationToken); break; case JsonProperties.CHECKIN_POST_PROPERTY_NAME_VENUE_NAME: movieCheckinPost.FoursquareVenueName = await jsonReader.ReadAsStringAsync(cancellationToken); break; case JsonProperties.MOVIE_CHECKIN_POST_PROPERTY_NAME_MOVIE: movieCheckinPost.Movie = await movieReader.ReadObjectAsync(jsonReader, cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(movieCheckinPost); } return(await Task.FromResult(default(ITraktMovieCheckinPost))); }
public async Task Test_SharingObjectJsonReader_ReadObject_From_Stream_Null() { var traktJsonReader = new SharingObjectJsonReader(); Func <Task <ITraktSharing> > traktSharing = () => traktJsonReader.ReadObjectAsync(default(Stream)); await traktSharing.Should().ThrowAsync <ArgumentNullException>(); }
public override async Task <ITraktEpisodeCheckinPostResponse> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { CheckJsonTextReader(jsonReader); if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { var sharingReader = new SharingObjectJsonReader(); var episodeReader = new EpisodeObjectJsonReader(); var showReader = new ShowObjectJsonReader(); ITraktEpisodeCheckinPostResponse checkinEpisodeResponse = new TraktEpisodeCheckinPostResponse(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.PROPERTY_NAME_ID: { var value = await JsonReaderHelper.ReadUnsignedLongValueAsync(jsonReader, cancellationToken); if (value.First) { checkinEpisodeResponse.Id = value.Second; } break; } case JsonProperties.PROPERTY_NAME_WATCHED_AT: { var value = await JsonReaderHelper.ReadDateTimeValueAsync(jsonReader, cancellationToken); if (value.First) { checkinEpisodeResponse.WatchedAt = value.Second; } break; } case JsonProperties.PROPERTY_NAME_SHARING: checkinEpisodeResponse.Sharing = await sharingReader.ReadObjectAsync(jsonReader, cancellationToken); break; case JsonProperties.PROPERTY_NAME_EPISODE: checkinEpisodeResponse.Episode = await episodeReader.ReadObjectAsync(jsonReader, cancellationToken); break; case JsonProperties.PROPERTY_NAME_SHOW: checkinEpisodeResponse.Show = await showReader.ReadObjectAsync(jsonReader, cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(checkinEpisodeResponse); } return(await Task.FromResult(default(ITraktEpisodeCheckinPostResponse))); }
public override async Task <ITraktMovieCheckinPostResponse> ReadObjectAsync(JsonTextReader jsonReader, CancellationToken cancellationToken = default) { if (jsonReader == null) { return(await Task.FromResult(default(ITraktMovieCheckinPostResponse))); } if (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.StartObject) { var sharingReader = new SharingObjectJsonReader(); var movieReader = new MovieObjectJsonReader(); ITraktMovieCheckinPostResponse checkinMovieResponse = new TraktMovieCheckinPostResponse(); while (await jsonReader.ReadAsync(cancellationToken) && jsonReader.TokenType == JsonToken.PropertyName) { var propertyName = jsonReader.Value.ToString(); switch (propertyName) { case JsonProperties.CHECKIN_POST_RESPONSE_PROPERTY_NAME_ID: { var value = await JsonReaderHelper.ReadUnsignedLongIntegerAsync(jsonReader, cancellationToken); if (value.First) { checkinMovieResponse.Id = value.Second; } break; } case JsonProperties.CHECKIN_POST_RESPONSE_PROPERTY_NAME_WATCHED_AT: { var value = await JsonReaderHelper.ReadDateTimeValueAsync(jsonReader, cancellationToken); if (value.First) { checkinMovieResponse.WatchedAt = value.Second; } break; } case JsonProperties.CHECKIN_POST_RESPONSE_PROPERTY_NAME_SHARING: checkinMovieResponse.Sharing = await sharingReader.ReadObjectAsync(jsonReader, cancellationToken); break; case JsonProperties.MOVIE_CHECKIN_POST_RESPONSE_PROPERTY_NAME_MOVIE: checkinMovieResponse.Movie = await movieReader.ReadObjectAsync(jsonReader, cancellationToken); break; default: await JsonReaderHelper.ReadAndIgnoreInvalidContentAsync(jsonReader, cancellationToken); break; } } return(checkinMovieResponse); } return(await Task.FromResult(default(ITraktMovieCheckinPostResponse))); }