Пример #1
0
        /// <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();
        }
Пример #2
0
        /// <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();
        }
Пример #3
0
        /// <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();
        }