Beispiel #1
0
        public async Task <TagOutput> CreateTagAsync(TagInput input)
        {
            if (await IsTagNameBusyAsync(input.Name))
            {
                throw TagException.NameIsBusy(input.Name);
            }

            var tag = new Tag(input.Name);

            await _tagRepository.SaveAsync(tag);

            return(new TagOutput(tag));
        }
Beispiel #2
0
        public async Task <TagOutput> UpdateTagAsync(Guid tagId, TagInput input)
        {
            var tag = await _tagRepository.FindByIdAsync(tagId);

            if (null == tag)
            {
                throw NotFoundException <Tag> .WithId(tagId);
            }

            if (await IsTagNameBusyAsync(input.Name))
            {
                throw TagException.NameIsBusy(input.Name);
            }

            tag.Name = input.Name;

            return(new TagOutput(tag));
        }