private async Task AddTagsNotInList(List <string> tags, GetTagEntities getTagEntities)
        {
            var tagsToAdd = new List <string>();

            foreach (var newTag in tags)
            {
                if (!Tags.Any(tag => tag.Id == newTag))
                {
                    tagsToAdd.Add(newTag);
                }
            }

            if (!tagsToAdd.Any())
            {
                return;
            }

            Tags.AddRange(await getTagEntities(tagsToAdd));
        }
        public async Task UpdateTags(List <string> newTagList, GetTagEntities getTagEntities)
        {
            await AddTagsNotInList(newTagList, getTagEntities);

            RemoveTagsNotInList(newTagList);
        }