/// <summary> /// Handles the Delete event of the gTransactions control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="Rock.Web.UI.Controls.RowEventArgs" /> instance containing the event data.</param> protected void gTransactions_Delete( object sender, Rock.Web.UI.Controls.RowEventArgs e ) { var rockContext = new RockContext(); var transactionService = new FinancialTransactionService( rockContext ); var transaction = transactionService.Get( e.RowKeyId ); if ( transaction != null ) { string errorMessage; if ( !transactionService.CanDelete( transaction, out errorMessage ) ) { mdGridWarning.Show( errorMessage, ModalAlertType.Information ); return; } transactionService.Delete( transaction ); rockContext.SaveChanges(); RockPage.UpdateBlocks( "~/Blocks/Finance/BatchDetail.ascx" ); } BindGrid(); }
/// <summary> /// Handles the Delete event of the gTransactions control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="Rock.Web.UI.Controls.RowEventArgs" /> instance containing the event data.</param> protected void gTransactions_Delete( object sender, Rock.Web.UI.Controls.RowEventArgs e ) { var rockContext = new RockContext(); var transactionService = new FinancialTransactionService( rockContext ); var transaction = transactionService.Get( e.RowKeyId ); if ( transaction != null ) { string errorMessage; if ( !transactionService.CanDelete( transaction, out errorMessage ) ) { mdGridWarning.Show( errorMessage, ModalAlertType.Information ); return; } // prevent deleting a Transaction that is in closed batch if (transaction.Batch != null ) { if ( transaction.Batch.Status == BatchStatus.Closed ) { mdGridWarning.Show( string.Format( "This {0} is assigned to a closed {1}", FinancialTransaction.FriendlyTypeName, FinancialBatch.FriendlyTypeName ), ModalAlertType.Information ); return; } } if ( transaction.BatchId.HasValue ) { string caption = ( transaction.AuthorizedPersonAlias != null && transaction.AuthorizedPersonAlias.Person != null ) ? transaction.AuthorizedPersonAlias.Person.FullName : string.Format( "Transaction: {0}", transaction.Id ); HistoryService.SaveChanges( rockContext, typeof( FinancialBatch ), Rock.SystemGuid.Category.HISTORY_FINANCIAL_TRANSACTION.AsGuid(), transaction.BatchId.Value, new List<string> { "Deleted transaction" }, caption, typeof( FinancialTransaction ), transaction.Id, false ); } transactionService.Delete( transaction ); rockContext.SaveChanges(); RockPage.UpdateBlocks( "~/Blocks/Finance/BatchDetail.ascx" ); } BindGrid(); }
/// <summary> /// Handles the Delete event of the gTransactions control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="Rock.Web.UI.Controls.RowEventArgs" /> instance containing the event data.</param> protected void gTransactions_Delete( object sender, Rock.Web.UI.Controls.RowEventArgs e ) { var rockContext = new RockContext(); FinancialTransactionService service = new FinancialTransactionService( rockContext ); FinancialTransaction item = service.Get( e.RowKeyId ); if ( item != null ) { string errorMessage; if ( !service.CanDelete( item, out errorMessage ) ) { mdGridWarning.Show( errorMessage, ModalAlertType.Information ); return; } service.Delete( item ); rockContext.SaveChanges(); } BindGrid(); }