using System.Collections.Generic;
using Umbraco.Core.Models;
using Umbraco.Core.Models.PublishedContent;
using Umbraco.Web.Models;
namespace Umbraco.Web
{
public interface ITagQuery
{
///
/// Returns all content that is tagged with the specified tag value and optional tag group
///
///
///
///
IEnumerable GetContentByTag(string tag, string tagGroup = null);
///
/// Returns all content that has been tagged with any tag in the specified group
///
///
///
IEnumerable GetContentByTagGroup(string tagGroup);
///
/// Returns all Media that is tagged with the specified tag value and optional tag group
///
///
///
///
IEnumerable GetMediaByTag(string tag, string tagGroup = null);
///
/// Returns all Media that has been tagged with any tag in the specified group
///
///
///
IEnumerable GetMediaByTagGroup(string tagGroup);
///
/// Get every tag stored in the database (with optional group)
///
IEnumerable GetAllTags(string group = null);
///
/// Get all tags for content items (with optional group)
///
///
///
IEnumerable GetAllContentTags(string group = null);
///
/// Get all tags for media items (with optional group)
///
///
///
IEnumerable GetAllMediaTags(string group = null);
///
/// Get all tags for member items (with optional group)
///
///
///
IEnumerable GetAllMemberTags(string group = null);
///
/// Returns all tags attached to a property by entity id
///
///
///
///
///
IEnumerable GetTagsForProperty(int contentId, string propertyTypeAlias, string tagGroup = null);
///
/// Returns all tags attached to an entity (content, media or member) by entity id
///
///
///
///
IEnumerable GetTagsForEntity(int contentId, string tagGroup = null);
}
}