public async Task <AllBookOutput> GetAllByTagIdAsync(AllBookInput <int> input)
        {
            var tag = await _tagCache.GetAsync(input.Id);

            if (tag == null)
            {
                throw new UserFriendlyException(404, L("PageNotFoundTitle"), L("PageNotFoundDetails"));
            }

            var builder = new BookByTag(input.Id);
            var books   = await GetAll(input, builder);

            var header = L("BookByTagHeader", tag.Name);

            return(new AllBookOutput(books, header));
        }