/// <summary> /// Handles the Click event of the btnDelete control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> protected void btnDelete_Click(object sender, EventArgs e) { var tagService = new Rock.Model.TagService(); var tag = tagService.Get(int.Parse(hfId.Value)); if (tag != null) { string errorMessage; if (!tagService.CanDelete(tag, out errorMessage)) { mdDeleteWarning.Show(errorMessage, ModalAlertType.Information); return; } tagService.Delete(tag, CurrentPersonId); tagService.Save(tag, CurrentPersonId); NavigateToParentPage(); } }
/// <summary> /// Handles the Delete event of the rGrid control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="RowEventArgs"/> instance containing the event data.</param> protected void rGrid_Delete(object sender, RowEventArgs e) { var tagService = new Rock.Model.TagService(); var tag = tagService.Get((int)rGrid.DataKeys[e.RowIndex]["id"]); if (tag != null) { string errorMessage; if (!tagService.CanDelete(tag, out errorMessage)) { mdGridWarning.Show(errorMessage, ModalAlertType.Information); return; } tagService.Delete(tag, CurrentPersonId); tagService.Save(tag, CurrentPersonId); } BindGrid(); }
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 ); }
/// <summary> /// Handles the Click event of the btnSave control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> protected void btnSave_Click(object sender, EventArgs e) { Tag tag; using (new Rock.Data.UnitOfWorkScope()) { var tagService = new Rock.Model.TagService(); int tagId = int.Parse(hfId.Value); if (tagId == 0) { tag = new Tag(); tag.IsSystem = false; tagService.Add(tag, CurrentPersonId); } else { tag = tagService.Get(tagId); } tag.Name = tbName.Text; tag.OwnerId = ppOwner.PersonId; tag.EntityTypeId = ddlEntityType.SelectedValueAsId().Value; tag.EntityTypeQualifierColumn = tbEntityTypeQualifierColumn.Text; tag.EntityTypeQualifierValue = tbEntityTypeQualifierValue.Text; tagService.Save(tag, CurrentPersonId); } var qryParams = new Dictionary <string, string>(); qryParams["tagId"] = tag.Id.ToString(); NavigateToPage(this.CurrentPage.Guid, qryParams); }
/// <summary> /// Saves the tag values that user entered for the entity ( /// </summary> /// <param name="currentPersonId">The current person identifier.</param> public void SaveTagValues(int? currentPersonId) { if ( EntityGuid != Guid.Empty ) { var tagService = new TagService(); var taggedItemService = new TaggedItemService(); // Get the existing tags for this entity type var existingTags = tagService.Get( EntityTypeId, EntityQualifierColumn, EntityQualifierValue, currentPersonId ).ToList(); // Get the existing tagged items for this entity var existingTaggedItems = taggedItemService.Get( EntityTypeId, EntityQualifierColumn, EntityQualifierValue, currentPersonId, EntityGuid ); // Get tag values after user edit var currentTags = new List<Tag>(); foreach ( var value in this.Text.Split( new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries ) ) { string tagName = value; if ( tagName.Contains( '^' ) ) { tagName = tagName.Split( new char[] { '^' }, StringSplitOptions.RemoveEmptyEntries )[0]; } // If this is a new tag, create it Tag tag = existingTags.FirstOrDefault( t => t.Name.Equals( tagName, StringComparison.OrdinalIgnoreCase ) ); if ( tag == null && currentPersonId != null ) { tag = new Tag(); tag.EntityTypeId = EntityTypeId; tag.EntityTypeQualifierColumn = EntityQualifierColumn; tag.EntityTypeQualifierValue = EntityQualifierValue; tag.OwnerId = currentPersonId.Value; tag.Name = tagName; tagService.Add( tag, currentPersonId ); tagService.Save( tag, currentPersonId ); } if ( tag != null ) { currentTags.Add( tag ); } } // Delete any tagged items that user removed var names = currentTags.Select( t => t.Name ).ToList(); foreach ( var taggedItem in existingTaggedItems) { if ( !names.Contains( taggedItem.Tag.Name, StringComparer.OrdinalIgnoreCase ) ) { taggedItemService.Delete( taggedItem, currentPersonId ); taggedItemService.Save( taggedItem, currentPersonId ); } } // Add any tagged items that user added names = existingTaggedItems.Select( t => t.Tag.Name ).ToList(); foreach ( var tag in currentTags) { if ( !names.Contains( tag.Name, StringComparer.OrdinalIgnoreCase ) ) { var taggedItem = new TaggedItem(); taggedItem.TagId = tag.Id; taggedItem.EntityGuid = EntityGuid; taggedItemService.Add( taggedItem, currentPersonId ); taggedItemService.Save( taggedItem, currentPersonId ); } } } }
/// <summary> /// Handles the Click event of the btnSave control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> protected void btnSave_Click( object sender, EventArgs e ) { Tag tag; using ( new Rock.Data.UnitOfWorkScope() ) { var tagService = new Rock.Model.TagService(); int tagId = int.Parse( hfId.Value ); if ( tagId == 0 ) { tag = new Tag(); tag.IsSystem = false; tagService.Add( tag, CurrentPersonId ); } else { tag = tagService.Get( tagId ); } tag.Name = tbName.Text; tag.OwnerId = ppOwner.PersonId; tag.EntityTypeId = ddlEntityType.SelectedValueAsId().Value; tag.EntityTypeQualifierColumn = tbEntityTypeQualifierColumn.Text; tag.EntityTypeQualifierValue = tbEntityTypeQualifierValue.Text; tagService.Save( tag, CurrentPersonId ); } var qryParams = new Dictionary<string, string>(); qryParams["tagId"] = tag.Id.ToString(); NavigateToPage( RockPage.Guid, qryParams ); }
/// <summary> /// Handles the Click event of the btnDelete control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> protected void btnDelete_Click( object sender, EventArgs e ) { var tagService = new Rock.Model.TagService(); var tag = tagService.Get( int.Parse( hfId.Value ) ); if ( tag != null ) { string errorMessage; if ( !tagService.CanDelete( tag, out errorMessage ) ) { mdDeleteWarning.Show( errorMessage, ModalAlertType.Information ); return; } tagService.Delete( tag, CurrentPersonId ); tagService.Save( tag, CurrentPersonId ); NavigateToParentPage(); } }