public void ClassSerializeText() { PullWordsAnswer answer = SampleCollection(); string json = JsonSerializer.Serialize(answer); var actualCAnswer = JsonSerializer.Deserialize <PullWordsAnswer>(json); Assert.NotNull(actualCAnswer); Assert.NotNull(actualCAnswer.AddedWords); Assert.NotNull(actualCAnswer.RemovedServerIds); IEnumerator <WordTranslation> enumerate = answer?.AddedWords.GetEnumerator(); foreach (WordTranslation addedWord in actualCAnswer.AddedWords) { if (IsContainsEnumerator(enumerate)) { continue; } AssertCollectionElement(enumerate, addedWord); enumerate.MoveNext(); } enumerate.Dispose(); }
public IActionResult PullWordPairs([FromBody] List <int> serverIds) { int authorizedId = User.GetUserId(); PullWordsAnswer pullAnswer = syncService.PullWordPairs(authorizedId, serverIds); return(Ok(pullAnswer)); }
public PullWordsAnswer PullWordPairs(int userId, IEnumerable <int> serverIDs) { int[] userWordsIds = serverIDs.ToArray(); int[] serverWordsIds = wordsService.UserWordsId(userId).ToArray(); IEnumerable <int> idsToAddOnClient = serverWordsIds.Except(userWordsIds); IEnumerable <int> idsToDeleteOnClient = userWordsIds.Except(serverWordsIds); IEnumerable <WordTranslation> addedWords = wordsService.GetUserWordsById(idsToAddOnClient); var pullResponse = new PullWordsAnswer { RemovedServerIds = idsToDeleteOnClient.ToList(), AddedWords = addedWords.ToList() }; return(pullResponse); }