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)); }
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)); }