示例#1
0
        public bool HasRequiredTransactionPurchase(Transaction transaction, RequiredPurchase requiredPurchase)
        {
            lock (this)
            {
                if (_accountFeatures.TryGetValue(requiredPurchase.RequiredPurchaseGroupId, out var accoutFeature))
                {
                    return(accoutFeature.HasRequiredTransactionPurchase(transaction, requiredPurchase));
                }

                if (_accountSubscriptions.TryGetValue(requiredPurchase.RequiredPurchaseGroupId, out var subscriptionFeature))
                {
                    return(subscriptionFeature.HasRequiredTransactionPurchase(transaction, requiredPurchase));
                }

                return(false);
            }
        }
示例#2
0
 public virtual void Consume(RequiredPurchase requiredPurchase)
 {
     CheckPurchaseType(requiredPurchase.RequiredPurchaseType, requiredPurchase.RequiredPurchaseGroupId);
 }
示例#3
0
 public virtual bool HasRequiredTransactionPurchase(Transaction transaction, RequiredPurchase requiredPurchase)
 {
     CheckPurchaseType(requiredPurchase.RequiredPurchaseType, requiredPurchase.RequiredPurchaseGroupId);
     return(false);
 }
示例#4
0
 public override bool HasRequiredTransactionPurchase(Transaction transaction, RequiredPurchase requiredPurchase)
 {
     base.HasRequiredTransactionPurchase(transaction, requiredPurchase);
     return(SubscriptionEnd > transaction.Timestamp);
 }
示例#5
0
 public override bool HasRequiredTransactionPurchase(Transaction transaction, RequiredPurchase requiredPurchase)
 {
     base.HasRequiredTransactionPurchase(transaction, requiredPurchase);
     return(true);
 }