示例#1
0
        public async Task <string> GetUniqueSlugAsync(string slug, Guid?bookId = null)
        {
            var booksWithSameSlugs = await _unitOfWork.BookRepository.FindByAsync(o => o.Id != bookId && o.Slug.StartsWith(slug));

            var existingSlugs = booksWithSameSlugs.Select(o => o.Slug);

            return(SlugHelper.GetUniqueSlug(slug, existingSlugs));
        }
示例#2
0
文件: Pages.cs 项目: cpayen/Note.06
        public async Task <string> GetUniqueSlugAsync(string slug, Guid bookId, Guid?pageId = null)
        {
            var pagesWithSameSlugs = await _unitOfWork.PageRepository.FindByAsync(o => o.Book.Id == bookId && o.Id != pageId && o.Slug.StartsWith(slug));

            var existingSlugs = pagesWithSameSlugs.Select(o => o.Slug);

            if (!existingSlugs.Any(o => o == slug))
            {
                return(slug);
            }

            return(SlugHelper.GetUniqueSlug(slug, existingSlugs));
        }
示例#3
0
 public void CheckGetUniqueSlug(string requestedSlug, string slugResult, string[] existingSlugs)
 {
     Assert.Equal(SlugHelper.GetUniqueSlug(requestedSlug, existingSlugs), slugResult);
 }