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();
        }
Exemple #2
0
        public IActionResult PullWordPairs([FromBody] List <int> serverIds)
        {
            int authorizedId = User.GetUserId();

            PullWordsAnswer pullAnswer = syncService.PullWordPairs(authorizedId, serverIds);

            return(Ok(pullAnswer));
        }
Exemple #3
0
        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);
        }