本文整理汇总了C#中Registration.GetSummary方法的典型用法代码示例。如果您正苦于以下问题:C# Registration.GetSummary方法的具体用法?C# Registration.GetSummary怎么用?C# Registration.GetSummary使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Registration
的用法示例。
在下文中一共展示了Registration.GetSummary方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SaveTransaction
private bool SaveTransaction( GatewayComponent gateway, Registration registration, FinancialTransaction transaction, PaymentInfo paymentInfo, RockContext rockContext )
{
if ( transaction != null )
{
var txnChanges = new List<string>();
txnChanges.Add( "Created Transaction" );
History.EvaluateChange( txnChanges, "Transaction Code", string.Empty, transaction.TransactionCode );
transaction.AuthorizedPersonAliasId = registration.PersonAliasId;
transaction.TransactionDateTime = RockDateTime.Now;
History.EvaluateChange( txnChanges, "Date/Time", null, transaction.TransactionDateTime );
transaction.FinancialGatewayId = RegistrationTemplate.FinancialGatewayId;
History.EvaluateChange( txnChanges, "Gateway", string.Empty, RegistrationTemplate.FinancialGateway.Name );
var txnType = DefinedValueCache.Read( new Guid( Rock.SystemGuid.DefinedValue.TRANSACTION_TYPE_EVENT_REGISTRATION ) );
transaction.TransactionTypeValueId = txnType.Id;
History.EvaluateChange( txnChanges, "Type", string.Empty, txnType.Value );
if ( transaction.FinancialPaymentDetail == null )
{
transaction.FinancialPaymentDetail = new FinancialPaymentDetail();
}
DefinedValueCache currencyType = null;
DefinedValueCache creditCardType = null;
if ( paymentInfo != null )
{
transaction.FinancialPaymentDetail.SetFromPaymentInfo( paymentInfo, gateway, rockContext, txnChanges );
currencyType = paymentInfo.CurrencyTypeValue;
creditCardType = paymentInfo.CreditCardTypeValue;
}
Guid sourceGuid = Guid.Empty;
if ( Guid.TryParse( GetAttributeValue( "Source" ), out sourceGuid ) )
{
var source = DefinedValueCache.Read( sourceGuid );
if ( source != null )
{
transaction.SourceTypeValueId = source.Id;
History.EvaluateChange( txnChanges, "Source", string.Empty, source.Value );
}
}
transaction.Summary = registration.GetSummary( RegistrationInstanceState );
var transactionDetail = new FinancialTransactionDetail();
transactionDetail.Amount = RegistrationState.PaymentAmount ?? 0.0m;
transactionDetail.AccountId = RegistrationInstanceState.AccountId.Value;
transactionDetail.EntityTypeId = EntityTypeCache.Read( typeof( Rock.Model.Registration ) ).Id;
transactionDetail.EntityId = registration.Id;
transaction.TransactionDetails.Add( transactionDetail );
History.EvaluateChange( txnChanges, RegistrationInstanceState.Account.Name, 0.0M.FormatAsCurrency(), transactionDetail.Amount.FormatAsCurrency() );
var batchChanges = new List<string>();
rockContext.WrapTransaction( () =>
{
var batchService = new FinancialBatchService( rockContext );
// determine batch prefix
string batchPrefix = string.Empty;
if ( !string.IsNullOrWhiteSpace( RegistrationTemplate.BatchNamePrefix ) )
{
batchPrefix = RegistrationTemplate.BatchNamePrefix;
}
else
{
batchPrefix = GetAttributeValue( "BatchNamePrefix" );
}
// Get the batch
var batch = batchService.Get(
batchPrefix,
currencyType,
creditCardType,
transaction.TransactionDateTime.Value,
RegistrationTemplate.FinancialGateway.GetBatchTimeOffset() );
if ( batch.Id == 0 )
{
batchChanges.Add( "Generated the batch" );
History.EvaluateChange( batchChanges, "Batch Name", string.Empty, batch.Name );
History.EvaluateChange( batchChanges, "Status", null, batch.Status );
History.EvaluateChange( batchChanges, "Start Date/Time", null, batch.BatchStartDateTime );
History.EvaluateChange( batchChanges, "End Date/Time", null, batch.BatchEndDateTime );
}
decimal newControlAmount = batch.ControlAmount + transaction.TotalAmount;
History.EvaluateChange( batchChanges, "Control Amount", batch.ControlAmount.FormatAsCurrency(), newControlAmount.FormatAsCurrency() );
batch.ControlAmount = newControlAmount;
transaction.BatchId = batch.Id;
batch.Transactions.Add( transaction );
rockContext.SaveChanges();
//.........这里部分代码省略.........
示例2: ProcessPayment
/// <summary>
/// Processes the payment.
/// </summary>
/// <param name="rockContext">The rock context.</param>
/// <param name="registration">The registration.</param>
/// <param name="errorMessage">The error message.</param>
/// <returns></returns>
private bool ProcessPayment( RockContext rockContext, Registration registration, out string errorMessage )
{
GatewayComponent gateway = null;
if ( RegistrationTemplate != null && RegistrationTemplate.FinancialGateway != null )
{
gateway = RegistrationTemplate.FinancialGateway.GetGatewayComponent();
}
if ( gateway == null )
{
errorMessage = "There was a problem creating the payment gateway information";
return false;
}
if ( !RegistrationInstanceState.AccountId.HasValue || RegistrationInstanceState.Account == null )
{
errorMessage = "There was a problem with the account configuration for this " + RegistrationTerm.ToLower();
return false;
}
PaymentInfo paymentInfo = null;
if ( rblSavedCC.Items.Count > 0 && ( rblSavedCC.SelectedValueAsId() ?? 0 ) > 0 )
{
var savedAccount = new FinancialPersonSavedAccountService( new RockContext() ).Get( rblSavedCC.SelectedValueAsId().Value );
if ( savedAccount != null )
{
paymentInfo = savedAccount.GetReferencePayment();
paymentInfo.Amount = RegistrationState.PaymentAmount ?? 0.0m;
}
else
{
errorMessage = "There was a problem retrieving the saved account";
return false;
}
}
else
{
paymentInfo = GetCCPaymentInfo( gateway );
}
paymentInfo.Comment1 = string.Format( "{0} ({1})", RegistrationInstanceState.Name, RegistrationInstanceState.Account.GlCode );
var transaction = gateway.Charge( RegistrationTemplate.FinancialGateway, paymentInfo, out errorMessage );
if ( transaction != null )
{
var txnChanges = new List<string>();
txnChanges.Add( "Created Transaction" );
History.EvaluateChange( txnChanges, "Transaction Code", string.Empty, transaction.TransactionCode );
transaction.AuthorizedPersonAliasId = registration.PersonAliasId;
transaction.TransactionDateTime = RockDateTime.Now;
History.EvaluateChange( txnChanges, "Date/Time", null, transaction.TransactionDateTime );
transaction.FinancialGatewayId = RegistrationTemplate.FinancialGatewayId;
History.EvaluateChange( txnChanges, "Gateway", string.Empty, RegistrationTemplate.FinancialGateway.Name );
var txnType = DefinedValueCache.Read( new Guid( Rock.SystemGuid.DefinedValue.TRANSACTION_TYPE_EVENT_REGISTRATION ) );
transaction.TransactionTypeValueId = txnType.Id;
History.EvaluateChange( txnChanges, "Type", string.Empty, txnType.Value );
if ( transaction.FinancialPaymentDetail == null )
{
transaction.FinancialPaymentDetail = new FinancialPaymentDetail();
}
transaction.FinancialPaymentDetail.SetFromPaymentInfo( paymentInfo, gateway, rockContext, txnChanges );
Guid sourceGuid = Guid.Empty;
if ( Guid.TryParse( GetAttributeValue( "Source" ), out sourceGuid ) )
{
var source = DefinedValueCache.Read( sourceGuid );
if ( source != null )
{
transaction.SourceTypeValueId = source.Id;
History.EvaluateChange( txnChanges, "Source", string.Empty, source.Value );
}
}
transaction.Summary = registration.GetSummary( RegistrationInstanceState );
var transactionDetail = new FinancialTransactionDetail();
transactionDetail.Amount = RegistrationState.PaymentAmount ?? 0.0m;
transactionDetail.AccountId = RegistrationInstanceState.AccountId.Value;
transactionDetail.EntityTypeId = EntityTypeCache.Read( typeof( Rock.Model.Registration ) ).Id;
transactionDetail.EntityId = registration.Id;
transaction.TransactionDetails.Add( transactionDetail );
History.EvaluateChange( txnChanges, RegistrationInstanceState.Account.Name, 0.0M.FormatAsCurrency(), transactionDetail.Amount.FormatAsCurrency() );
var batchChanges = new List<string>();
rockContext.WrapTransaction( () =>
//.........这里部分代码省略.........