diff --git a/src/Umbraco.Core/Persistence/Repositories/Interfaces/ITagsRepository.cs b/src/Umbraco.Core/Persistence/Repositories/Interfaces/ITagsRepository.cs index 17dfb4f96a..ae89c469fc 100644 --- a/src/Umbraco.Core/Persistence/Repositories/Interfaces/ITagsRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/Interfaces/ITagsRepository.cs @@ -14,9 +14,8 @@ namespace Umbraco.Core.Persistence.Repositories /// /// Entity type /// Optional group - /// Optional flag to return the number of content items tagged with the tag /// - IEnumerable GetTagsForEntityType(TaggableObjectTypes objectType, string group = null, bool withCount = false); + IEnumerable GetTagsForEntityType(TaggableObjectTypes objectType, string group = null); /// /// Returns all tags that exist on the content item - Content/Media/Member diff --git a/src/Umbraco.Core/Persistence/Repositories/TagsRepository.cs b/src/Umbraco.Core/Persistence/Repositories/TagsRepository.cs index 65ffa492ba..1d687d1974 100644 --- a/src/Umbraco.Core/Persistence/Repositories/TagsRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/TagsRepository.cs @@ -226,11 +226,11 @@ namespace Umbraco.Core.Persistence.Repositories return list; } - public IEnumerable GetTagsForEntityType(TaggableObjectTypes objectType, string group = null, bool withCount = false) + public IEnumerable GetTagsForEntityType(TaggableObjectTypes objectType, string group = null) { var nodeObjectType = GetNodeObjectType(objectType); - var sql = GetTagsQuerySelect(withCount); + var sql = GetTagsQuerySelect(true); sql = ApplyRelationshipJoinToTagsQuery(sql); @@ -243,7 +243,7 @@ namespace Umbraco.Core.Persistence.Repositories sql = ApplyGroupFilterToTagsQuery(sql, group); - sql = ApplyGroupByToTagsQuery(sql, withCount); + sql = ApplyGroupByToTagsQuery(sql); return ExecuteTagsQuery(sql); } @@ -279,11 +279,11 @@ namespace Umbraco.Core.Persistence.Repositories return ExecuteTagsQuery(sql); } - private Sql GetTagsQuerySelect(bool withCount = false) + private Sql GetTagsQuerySelect(bool withGrouping = false) { var sql = new Sql(); - if (withCount) + if (withGrouping) { sql = sql.Select("cmsTags.Id, cmsTags.Tag, cmsTags.[Group], Count(*) NodeCount"); } @@ -313,14 +313,9 @@ namespace Umbraco.Core.Persistence.Repositories return sql; } - private Sql ApplyGroupByToTagsQuery(Sql sql, bool withCount) + private Sql ApplyGroupByToTagsQuery(Sql sql) { - if (withCount) - { - sql = sql.GroupBy(new string[] { "cmsTags.Id", "cmsTags.Tag", "cmsTags.[Group]" }); - } - - return sql; + return sql.GroupBy(new string[] { "cmsTags.Id", "cmsTags.Tag", "cmsTags.[Group]" }); } private IEnumerable ExecuteTagsQuery(Sql sql) diff --git a/src/Umbraco.Core/Services/ITagService.cs b/src/Umbraco.Core/Services/ITagService.cs index c0ef7a2189..20043327e6 100644 --- a/src/Umbraco.Core/Services/ITagService.cs +++ b/src/Umbraco.Core/Services/ITagService.cs @@ -33,25 +33,22 @@ namespace Umbraco.Core.Services /// Get all tags for content items (with optional group) /// /// Optional group - /// Optional flag to return the number of content items tagged with the tag /// - IEnumerable GetAllContentTags(string group = null, bool withCount = false); + IEnumerable GetAllContentTags(string group = null); /// /// Get all tags for media items (with optional group) /// /// Optional group - /// Optional flag to return the number of content items tagged with the tag /// - IEnumerable GetAllMediaTags(string group = null, bool withCount = false); + IEnumerable GetAllMediaTags(string group = null); /// /// Get all tags for member items (with optional group) /// /// Optional group - /// Optional flag to return the number of content items tagged with the tag /// - IEnumerable GetAllMemberTags(string group = null, bool withCount = false); + IEnumerable GetAllMemberTags(string group = null); /// /// Returns all tags attached to a property by entity id diff --git a/src/Umbraco.Core/Services/TagService.cs b/src/Umbraco.Core/Services/TagService.cs index 76adf37995..fa7a094b04 100644 --- a/src/Umbraco.Core/Services/TagService.cs +++ b/src/Umbraco.Core/Services/TagService.cs @@ -111,13 +111,12 @@ namespace Umbraco.Core.Services /// Get all tags for content items (with optional group) /// /// Optional group - /// Optional flag to return the number of content items tagged with the tag /// - public IEnumerable GetAllContentTags(string group = null, bool withCount = false) + public IEnumerable GetAllContentTags(string group = null) { using (var repository = _repositoryFactory.CreateTagsRepository(_uowProvider.GetUnitOfWork())) { - return repository.GetTagsForEntityType(TaggableObjectTypes.Content, group, withCount); + return repository.GetTagsForEntityType(TaggableObjectTypes.Content, group); } } @@ -125,13 +124,12 @@ namespace Umbraco.Core.Services /// Get all tags for media items (with optional group) /// /// Optional group - /// Optional flag to return the number of content items tagged with the tag /// - public IEnumerable GetAllMediaTags(string group = null, bool withCount = false) + public IEnumerable GetAllMediaTags(string group = null) { using (var repository = _repositoryFactory.CreateTagsRepository(_uowProvider.GetUnitOfWork())) { - return repository.GetTagsForEntityType(TaggableObjectTypes.Media, group, withCount); + return repository.GetTagsForEntityType(TaggableObjectTypes.Media, group); } } @@ -139,13 +137,12 @@ namespace Umbraco.Core.Services /// Get all tags for member items (with optional group) /// /// Optional group - /// Optional flag to return the number of content items tagged with the tag /// - public IEnumerable GetAllMemberTags(string group = null, bool withCount = false) + public IEnumerable GetAllMemberTags(string group = null) { using (var repository = _repositoryFactory.CreateTagsRepository(_uowProvider.GetUnitOfWork())) { - return repository.GetTagsForEntityType(TaggableObjectTypes.Member, group, withCount); + return repository.GetTagsForEntityType(TaggableObjectTypes.Member, group); } }