Interface ISubscriptionService
Service for managing recurring subscriptions.
Namespace: DirectScale.Disco.Extension.Services
Assembly: DirectScale.Disco.Extension.Abstractions.dll
Syntax
public interface ISubscriptionService
Methods
CancelSubscription(Int32, Int32)
Cancels the first instance of a particular subscription on the given associate's account. A subscription should only exist once in the system, unless the database has been modified manually.
Declaration
Task CancelSubscription(int associateId, int subscriptionId)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | associateId | Associate with subscription |
System.Int32 | subscriptionId | Subscription/Service ID to cancel |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task |
GetSubscription(Int32, Int32)
This returns non-void subscriptions. To see a void subscription, please use GetAssociateSubscriptionsWithVoids(associateId).
Declaration
Task<Subscription> GetSubscription(int associateId, int subscriptionId)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | associateId | ID of associate who owns subscription |
System.Int32 | subscriptionId | Subscription/Service ID of subscription to fetch |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<Subscription> | Single, non-void subscription |
GetSubscriptionItems()
Get the items configured to begin a subscription.
Declaration
Task<SubscriptionItem[]> GetSubscriptionItems()
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<SubscriptionItem[]> | Subscription items and renewal details. |
GetSubscriptions(Int32)
Get all associateId
's subscriptions, including Void subscriptions.
Declaration
Task<Subscription[]> GetSubscriptions(int associateId)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | associateId | Associate with subscriptions. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<Subscription[]> | Associate's subscriptions. |
ProcessItems(Int32, Int32[])
Create recurring subscriptions to itemIds
for associateId
.
Declaration
Task ProcessItems(int associateId, int[] itemIds)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | associateId | Associate to create subscriptions for. |
System.Int32[] | itemIds | Items the associate purchased, subscriptions will be created for the ones that are subscription items. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task |
Remarks
itemIds
that are not subscription items will be ignored. See GetSubscriptionItems().
UpdateExpiration(Int32, Int32, DateTime)
Push out a specific associateId
's subscriptionId
exipriation date to expirationDate
.
Declaration
Task UpdateExpiration(int associateId, int subscriptionId, DateTime expirationDate)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | associateId | Associate with subscription. |
System.Int32 | subscriptionId | Specific subscription. |
System.DateTime | expirationDate | New expiration date. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task |