/// <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 gBatchList 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 gBatchList_Delete(object sender, RowEventArgs e) { var rockContext = new RockContext(); var batchService = new FinancialBatchService(rockContext); var transactionService = new FinancialTransactionService(rockContext); var batch = batchService.Get(e.RowKeyId); if (batch != null) { if (batch.IsAuthorized(Rock.Security.Authorization.DELETE, CurrentPerson)) { string errorMessage; if (!batchService.CanDelete(batch, out errorMessage)) { mdGridWarning.Show(errorMessage, ModalAlertType.Information); return; } rockContext.WrapTransaction(() => { foreach (var txn in transactionService.Queryable() .Where(t => t.BatchId == batch.Id)) { transactionService.Delete(txn); } var changes = new History.HistoryChangeList(); changes.AddChange(History.HistoryVerb.Delete, History.HistoryChangeType.Record, "Batch"); HistoryService.SaveChanges( rockContext, typeof(FinancialBatch), Rock.SystemGuid.Category.HISTORY_FINANCIAL_BATCH.AsGuid(), batch.Id, changes); batchService.Delete(batch); rockContext.SaveChanges(); }); } else { mdGridWarning.Show("You are not authorized to delete the selected batch.", ModalAlertType.Warning); } } BindGrid(); }
/// <summary> /// Handles the Delete event of the gBatchList 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 gBatchList_Delete(object sender, RowEventArgs e) { var rockContext = new RockContext(); var batchService = new FinancialBatchService(rockContext); var transactionService = new FinancialTransactionService(rockContext); var batch = batchService.Get(e.RowKeyId); if (batch != null) { if (UserCanEdit || batch.IsAuthorized(Rock.Security.Authorization.EDIT, CurrentPerson)) { string errorMessage; if (!batchService.CanDelete(batch, out errorMessage)) { mdGridWarning.Show(errorMessage, ModalAlertType.Information); return; } rockContext.WrapTransaction(() => { foreach (var txn in transactionService.Queryable() .Where(t => t.BatchId == batch.Id)) { transactionService.Delete(txn); } HistoryService.SaveChanges( rockContext, typeof(FinancialBatch), Rock.SystemGuid.Category.HISTORY_FINANCIAL_BATCH.AsGuid(), batch.Id, new List <string> { "Deleted the batch" }); batchService.Delete(batch); rockContext.SaveChanges(); }); } } 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(); }
/// <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(); }