本文整理汇总了C#中Rock.Model.FinancialTransactionService.Add方法的典型用法代码示例。如果您正苦于以下问题:C# FinancialTransactionService.Add方法的具体用法?C# FinancialTransactionService.Add怎么用?C# FinancialTransactionService.Add使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Rock.Model.FinancialTransactionService
的用法示例。
在下文中一共展示了FinancialTransactionService.Add方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: lbSave_Click
/// <summary>
/// Handles the Click event of the lbSave 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 lbSave_Click( object sender, EventArgs e )
{
var rockContext = new RockContext();
var txnService = new FinancialTransactionService( rockContext );
var txnDetailService = new FinancialTransactionDetailService( rockContext );
var txnImageService = new FinancialTransactionImageService( rockContext );
var binaryFileService = new BinaryFileService( rockContext );
FinancialTransaction txn = null;
int? txnId = hfTransactionId.Value.AsIntegerOrNull();
int? batchId = hfBatchId.Value.AsIntegerOrNull();
if ( txnId.HasValue )
{
txn = txnService.Get( txnId.Value );
}
if ( txn == null && batchId.HasValue )
{
txn = new FinancialTransaction();
txnService.Add( txn );
txn.BatchId = batchId.Value;
}
if ( txn != null )
{
txn.AuthorizedPersonId = ppAuthorizedPerson.PersonId;
txn.TransactionDateTime = dtTransactionDateTime.SelectedDateTime;
txn.TransactionTypeValueId = ddlTransactionType.SelectedValue.AsInteger();
txn.SourceTypeValueId = ddlSourceType.SelectedValueAsInt();
Guid? gatewayGuid = cpPaymentGateway.SelectedValueAsGuid();
if ( gatewayGuid.HasValue )
{
var gatewayEntity = EntityTypeCache.Read( gatewayGuid.Value );
if ( gatewayEntity != null )
{
txn.GatewayEntityTypeId = gatewayEntity.Id;
}
else
{
txn.GatewayEntityTypeId = null;
}
}
else
{
txn.GatewayEntityTypeId = null;
}
txn.TransactionCode = tbTransactionCode.Text;
txn.CurrencyTypeValueId = ddlCurrencyType.SelectedValueAsInt();
txn.CreditCardTypeValueId = ddlCreditCardType.SelectedValueAsInt();
txn.Summary = tbSummary.Text;
if ( !Page.IsValid || !txn.IsValid )
{
return;
}
foreach ( var txnDetail in TransactionDetailsState )
{
if ( !txnDetail.IsValid )
{
return;
}
}
foreach ( var txnImage in TransactionImagesState )
{
if ( !txnImage.IsValid )
{
return;
}
}
rockContext.WrapTransaction( () =>
{
// Save the transaction
rockContext.SaveChanges();
// Delete any transaction details that were removed
var txnDetailsInDB = txnDetailService.Queryable().Where( a => a.TransactionId.Equals( txn.Id ) ).ToList();
var deletedDetails = from txnDetail in txnDetailsInDB
where !TransactionDetailsState.Select( d => d.Guid ).Contains( txnDetail.Guid )
select txnDetail;
deletedDetails.ToList().ForEach( txnDetail =>
{
txnDetailService.Delete( txnDetail );
} );
rockContext.SaveChanges();
// Save Transaction Details
foreach ( var editorTxnDetail in TransactionDetailsState )
//.........这里部分代码省略.........
示例2: lbSave_Click
/// <summary>
/// Handles the Click event of the lbSave 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 lbSave_Click( object sender, EventArgs e )
{
var rockContext = new RockContext();
var txnService = new FinancialTransactionService( rockContext );
var txnDetailService = new FinancialTransactionDetailService( rockContext );
var txnImageService = new FinancialTransactionImageService( rockContext );
var binaryFileService = new BinaryFileService( rockContext );
FinancialTransaction txn = null;
int? txnId = hfTransactionId.Value.AsIntegerOrNull();
int? batchId = hfBatchId.Value.AsIntegerOrNull();
if ( txnId.HasValue )
{
txn = txnService.Get( txnId.Value );
}
if ( txn == null )
{
txn = new FinancialTransaction();
txnService.Add( txn );
txn.BatchId = batchId;
}
if ( txn != null )
{
if ( ppAuthorizedPerson.PersonId.HasValue )
{
txn.AuthorizedPersonAliasId = ppAuthorizedPerson.PersonAliasId;
}
txn.TransactionDateTime = dtTransactionDateTime.SelectedDateTime;
txn.TransactionTypeValueId = ddlTransactionType.SelectedValue.AsInteger();
txn.SourceTypeValueId = ddlSourceType.SelectedValueAsInt();
Guid? gatewayGuid = cpPaymentGateway.SelectedValueAsGuid();
if ( gatewayGuid.HasValue )
{
var gatewayEntity = EntityTypeCache.Read( gatewayGuid.Value );
if ( gatewayEntity != null )
{
txn.GatewayEntityTypeId = gatewayEntity.Id;
}
else
{
txn.GatewayEntityTypeId = null;
}
}
else
{
txn.GatewayEntityTypeId = null;
}
txn.TransactionCode = tbTransactionCode.Text;
txn.CurrencyTypeValueId = ddlCurrencyType.SelectedValueAsInt();
txn.CreditCardTypeValueId = ddlCreditCardType.SelectedValueAsInt();
txn.Summary = tbSummary.Text;
if ( !Page.IsValid || !txn.IsValid )
{
return;
}
foreach ( var txnDetail in TransactionDetailsState )
{
if ( !txnDetail.IsValid )
{
return;
}
}
rockContext.WrapTransaction( () =>
{
// Save the transaction
rockContext.SaveChanges();
// Delete any transaction details that were removed
var txnDetailsInDB = txnDetailService.Queryable().Where( a => a.TransactionId.Equals( txn.Id ) ).ToList();
var deletedDetails = from txnDetail in txnDetailsInDB
where !TransactionDetailsState.Select( d => d.Guid ).Contains( txnDetail.Guid )
select txnDetail;
deletedDetails.ToList().ForEach( txnDetail =>
{
txnDetailService.Delete( txnDetail );
} );
rockContext.SaveChanges();
// Save Transaction Details
foreach ( var editorTxnDetail in TransactionDetailsState )
{
// Add or Update the activity type
var txnDetail = txn.TransactionDetails.FirstOrDefault( d => d.Guid.Equals( editorTxnDetail.Guid ) );
if ( txnDetail == null )
//.........这里部分代码省略.........
示例3: lbSave_Click
/// <summary>
/// Handles the Click event of the lbSave 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 lbSave_Click( object sender, EventArgs e )
{
var rockContext = new RockContext();
var txnService = new FinancialTransactionService( rockContext );
var txnDetailService = new FinancialTransactionDetailService( rockContext );
var txnImageService = new FinancialTransactionImageService( rockContext );
var binaryFileService = new BinaryFileService( rockContext );
FinancialTransaction txn = null;
int? txnId = hfTransactionId.Value.AsIntegerOrNull();
int? batchId = hfBatchId.Value.AsIntegerOrNull();
var changes = new List<string>();
if ( txnId.HasValue )
{
txn = txnService.Get( txnId.Value );
}
if ( txn == null )
{
txn = new FinancialTransaction();
txnService.Add( txn );
txn.BatchId = batchId;
changes.Add( "Created transaction" );
}
if ( txn != null )
{
if ( txn.FinancialPaymentDetail == null )
{
txn.FinancialPaymentDetail = new FinancialPaymentDetail();
}
string newPerson = ppAuthorizedPerson.PersonName;
if ( batchId.HasValue )
{
if ( !txn.AuthorizedPersonAliasId.Equals( ppAuthorizedPerson.PersonAliasId ) )
{
string prevPerson = ( txn.AuthorizedPersonAlias != null && txn.AuthorizedPersonAlias.Person != null ) ?
txn.AuthorizedPersonAlias.Person.FullName : string.Empty;
History.EvaluateChange( changes, "Person", prevPerson, newPerson );
}
History.EvaluateChange( changes, "Date/Time", txn.TransactionDateTime, dtTransactionDateTime.SelectedDateTime );
History.EvaluateChange( changes, "Type", GetDefinedValue( txn.TransactionTypeValueId ), GetDefinedValue( ddlTransactionType.SelectedValue.AsInteger() ) );
History.EvaluateChange( changes, "Source", GetDefinedValue( txn.SourceTypeValueId ), GetDefinedValue( ddlSourceType.SelectedValueAsInt() ) );
if ( !txn.FinancialGatewayId.Equals( gpPaymentGateway.SelectedValueAsInt() ) )
{
History.EvaluateChange( changes, "Gateway", GetFinancialGatewayName( txn.FinancialGatewayId, rockContext ), GetFinancialGatewayName( gpPaymentGateway.SelectedValueAsInt(), rockContext ) );
}
History.EvaluateChange( changes, "Transaction Code", txn.TransactionCode, tbTransactionCode.Text );
History.EvaluateChange( changes, "Currency Type", GetDefinedValue( txn.FinancialPaymentDetail.CurrencyTypeValueId ), GetDefinedValue( ddlCurrencyType.SelectedValueAsInt() ) );
History.EvaluateChange( changes, "Credit Card Type", GetDefinedValue( txn.FinancialPaymentDetail.CreditCardTypeValueId ), GetDefinedValue( ddlCreditCardType.SelectedValueAsInt() ) );
History.EvaluateChange( changes, "Summary", txn.Summary, tbSummary.Text );
History.EvaluateChange( changes, "Is Refund", ( txn.RefundDetails != null ), cbIsRefund.Checked );
}
txn.AuthorizedPersonAliasId = ppAuthorizedPerson.PersonAliasId;
txn.TransactionDateTime = dtTransactionDateTime.SelectedDateTime;
txn.TransactionTypeValueId = ddlTransactionType.SelectedValue.AsInteger();
txn.SourceTypeValueId = ddlSourceType.SelectedValueAsInt();
txn.FinancialGatewayId = gpPaymentGateway.SelectedValueAsInt();
txn.TransactionCode = tbTransactionCode.Text;
txn.FinancialPaymentDetail.CurrencyTypeValueId = ddlCurrencyType.SelectedValueAsInt();
txn.FinancialPaymentDetail.CreditCardTypeValueId = ddlCreditCardType.SelectedValueAsInt();
txn.Summary = tbSummary.Text;
decimal totalAmount = TransactionDetailsState.Select( d => d.Amount ).ToList().Sum();
if ( cbIsRefund.Checked && totalAmount > 0 )
{
nbErrorMessage.Title = "Incorrect Refund Amount";
nbErrorMessage.Text = "<p>A refund should have a negative amount. Please unselect the refund option, or change amounts to be negative values.</p>";
nbErrorMessage.Visible = true;
return;
}
if ( cbIsRefund.Checked )
{
if ( txn.RefundDetails != null )
{
txn.RefundDetails = new FinancialTransactionRefund();
}
txn.RefundDetails.RefundReasonValueId = ddlRefundReasonEdit.SelectedValueAsId();
txn.RefundDetails.RefundReasonSummary = tbRefundSummaryEdit.Text;
}
if ( !Page.IsValid || !txn.IsValid )
{
//.........这里部分代码省略.........
示例4: ProcessConfirmation
/// <summary>
/// Processes the confirmation.
/// </summary>
/// <param name="errorMessage">The error message.</param>
/// <returns></returns>
private bool ProcessConfirmation( out string errorMessage )
{
if ( string.IsNullOrWhiteSpace( TransactionCode ) )
{
GatewayComponent gateway = hfPaymentTab.Value == "ACH" ? _achGateway : _ccGateway;
if ( gateway == null )
{
errorMessage = "There was a problem creating the payment gateway information";
return false;
}
Person person = GetPerson( true );
if ( person == null )
{
errorMessage = "There was a problem creating the person information";
return false;
}
PaymentInfo paymentInfo = GetPaymentInfo();
if ( paymentInfo == null )
{
errorMessage = "There was a problem creating the payment information";
return false;
}
else
{
paymentInfo.FirstName = person.FirstName;
paymentInfo.LastName = person.LastName;
}
if ( paymentInfo.CreditCardTypeValue != null )
{
CreditCardTypeValueId = paymentInfo.CreditCardTypeValue.Id;
}
PaymentSchedule schedule = GetSchedule();
if ( schedule != null )
{
schedule.PersonId = person.Id;
var scheduledTransaction = gateway.AddScheduledPayment( schedule, paymentInfo, out errorMessage );
if ( scheduledTransaction != null )
{
scheduledTransaction.TransactionFrequencyValueId = schedule.TransactionFrequencyValue.Id;
scheduledTransaction.AuthorizedPersonId = person.Id;
scheduledTransaction.GatewayEntityTypeId = EntityTypeCache.Read( gateway.TypeGuid ).Id;
foreach ( var account in SelectedAccounts.Where( a => a.Amount > 0 ) )
{
var transactionDetail = new FinancialScheduledTransactionDetail();
transactionDetail.Amount = account.Amount;
transactionDetail.AccountId = account.Id;
scheduledTransaction.ScheduledTransactionDetails.Add( transactionDetail );
}
var transactionService = new FinancialScheduledTransactionService();
transactionService.Add( scheduledTransaction, CurrentPersonId );
transactionService.Save( scheduledTransaction, CurrentPersonId );
ScheduleId = scheduledTransaction.GatewayScheduleId;
TransactionCode = scheduledTransaction.TransactionCode;
}
else
{
return false;
}
}
else
{
var transaction = gateway.Charge( paymentInfo, out errorMessage );
if ( transaction != null )
{
transaction.TransactionDateTime = DateTime.Now;
transaction.AuthorizedPersonId = person.Id;
transaction.GatewayEntityTypeId = gateway.TypeId;
transaction.Amount = paymentInfo.Amount;
transaction.TransactionTypeValueId = DefinedValueCache.Read(new Guid(Rock.SystemGuid.DefinedValue.TRANSACTION_TYPE_CONTRIBUTION)).Id;
transaction.CurrencyTypeValueId = paymentInfo.CurrencyTypeValue.Id;
transaction.CreditCardTypeValueId = CreditCardTypeValueId;
Guid sourceGuid = Guid.Empty;
if (Guid.TryParse(GetAttributeValue("Source"), out sourceGuid))
{
transaction.SourceTypeValueId = DefinedValueCache.Read(sourceGuid).Id;
}
foreach ( var account in SelectedAccounts.Where( a => a.Amount > 0 ) )
{
var transactionDetail = new FinancialTransactionDetail();
transactionDetail.Amount = account.Amount;
transactionDetail.AccountId = account.Id;
transaction.TransactionDetails.Add( transactionDetail );
}
// Get the batch name
string ccSuffix = string.Empty;
//.........这里部分代码省略.........
示例5: lbSaveTransaction_Click
/// <summary>
/// Handles the Click event of the btnSaveFinancialTransaction 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 lbSaveTransaction_Click( object sender, EventArgs e )
{
var rockContext = new RockContext();
var financialTransactionService = new Rock.Model.FinancialTransactionService( rockContext );
Rock.Model.FinancialTransaction financialTransaction = null;
int financialTransactionId = !string.IsNullOrEmpty( hfIdTransValue.Value ) ? int.Parse( hfIdTransValue.Value ) : 0;
// null if not associated with a batch
int? batchId = hfBatchId.Value.AsInteger();
if ( financialTransactionId == 0 )
{
financialTransaction = new Rock.Model.FinancialTransaction();
financialTransactionService.Add( financialTransaction );
financialTransaction.BatchId = batchId;
}
else
{
financialTransaction = financialTransactionService.Get( financialTransactionId );
}
if ( ppAuthorizedPerson.PersonId != null )
{
financialTransaction.AuthorizedPersonId = ppAuthorizedPerson.PersonId;
}
else
{
financialTransaction.AuthorizedPersonId = null;
}
if ( ddlCurrencyType.SelectedItem.ToString() == "Credit Card" )
{
financialTransaction.CreditCardTypeValueId = int.Parse( ddlCreditCardType.SelectedValue );
}
else
{
financialTransaction.CreditCardTypeValueId = null;
}
financialTransaction.CurrencyTypeValueId = int.Parse( ddlCurrencyType.SelectedValue );
if ( !string.IsNullOrEmpty( ddlPaymentGateway.SelectedValue ) )
{
var gatewayEntity = Rock.Web.Cache.EntityTypeCache.Read( new Guid( ddlPaymentGateway.SelectedValue ) );
if ( gatewayEntity != null )
{
financialTransaction.GatewayEntityTypeId = gatewayEntity.Id;
}
}
financialTransaction.SourceTypeValueId = int.Parse( ddlSourceType.SelectedValue );
financialTransaction.TransactionTypeValueId = int.Parse( ddlTransactionType.SelectedValue );
financialTransaction.Summary = tbSummary.Text;
financialTransaction.TransactionCode = tbTransactionCode.Text;
financialTransaction.TransactionDateTime = dtTransactionDateTime.SelectedDateTime;
rockContext.SaveChanges();
if ( batchId != null )
{
Dictionary<string, string> qryString = new Dictionary<string, string>();
qryString["financialBatchid"] = hfBatchId.Value;
NavigateToParentPage( qryString );
}
else
{
NavigateToParentPage();
}
}