public HttpResponseMessage Post( int entityTypeId, int ownerId, Guid entityGuid, string name, string entityQualifier, string entityQualifierValue )
{
var user = CurrentUser();
if ( user != null )
{
using ( new Rock.Data.UnitOfWorkScope() )
{
var tagService = new TagService();
var taggedItemService = new TaggedItemService();
var tag = tagService.Get( entityTypeId, entityQualifier, entityQualifierValue, ownerId, name );
if ( tag == null )
{
tag = new Tag();
tag.EntityTypeId = entityTypeId;
tag.EntityTypeQualifierColumn = entityQualifier;
tag.EntityTypeQualifierValue = entityQualifierValue;
tag.OwnerId = ownerId;
tag.Name = name;
tagService.Add( tag, user.PersonId );
tagService.Save( tag, user.PersonId );
}
var taggedItem = taggedItemService.Get( tag.Id, entityGuid );
if ( taggedItem == null )
{
taggedItem = new TaggedItem();
taggedItem.TagId = tag.Id;
taggedItem.EntityGuid = entityGuid;
taggedItemService.Add( taggedItem, user.PersonId );
taggedItemService.Save( taggedItem, user.PersonId );
}
}
return ControllerContext.Request.CreateResponse( HttpStatusCode.Created );
}
throw new HttpResponseException( HttpStatusCode.Unauthorized );
}