/// <summary> /// Handles the SaveClick event of the mdPlaceElsewhere 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 mdPlaceElsewhere_SaveClick(object sender, EventArgs e) { using (var rockContext = new RockContext()) { var groupService = new GroupService(rockContext); var groupMemberService = new GroupMemberService(rockContext); var groupMember = groupMemberService.Get(hfPlaceElsewhereGroupMemberId.Value.AsInteger()); if (groupMember != null) { string errorMessage; if (!groupMemberService.CanDelete(groupMember, out errorMessage)) { nbPlaceElsewhereWarning.Text = errorMessage; return; } var trigger = _group.GetGroupMemberWorkflowTriggers().FirstOrDefault(a => a.Id == hfPlaceElsewhereTriggerId.Value.AsInteger()); if (trigger != null) { // create a transaction for the selected trigger var transaction = new Rock.Transactions.GroupMemberPlacedElsewhereTransaction(groupMember, tbPlaceElsewhereNote.Text, trigger); // delete the group member from the current group groupMemberService.Delete(groupMember); rockContext.SaveChanges(); // queue up the transaction Rock.Transactions.RockQueue.TransactionQueue.Enqueue(transaction); } } mdPlaceElsewhere.Hide(); mdPlaceElsewhere.Visible = false; BindGroupMembersGrid(); } }
/// <summary> /// Handles the SaveClick event of the mdPlaceElsewhere 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 mdPlaceElsewhere_SaveClick( object sender, EventArgs e ) { using ( var rockContext = new RockContext() ) { var groupService = new GroupService( rockContext ); var groupMemberService = new GroupMemberService( rockContext ); var groupMember = groupMemberService.Get( hfPlaceElsewhereGroupMemberId.Value.AsInteger() ); if ( groupMember != null ) { string errorMessage; if ( !groupMemberService.CanDelete( groupMember, out errorMessage ) ) { nbPlaceElsewhereWarning.Text = errorMessage; return; } var trigger = _group.GetGroupMemberWorkflowTriggers().FirstOrDefault( a => a.Id == hfPlaceElsewhereTriggerId.Value.AsInteger() ); if ( trigger != null ) { // create a transaction for the selected trigger var transaction = new Rock.Transactions.GroupMemberPlacedElsewhereTransaction( groupMember, tbPlaceElsewhereNote.Text, trigger ); // delete the group member from the current group groupMemberService.Delete( groupMember ); rockContext.SaveChanges(); // queue up the transaction Rock.Transactions.RockQueue.TransactionQueue.Enqueue( transaction ); } } mdPlaceElsewhere.Hide(); mdPlaceElsewhere.Visible = false; BindGroupMembersGrid(); } }