in src/Services/StatusHandlers/PendingActivationStatusHandler.cs [63:118]
public override void Process(Guid subscriptionID)
{
this.logger?.LogInformation("PendingActivationStatusHandler {0}", subscriptionID);
var subscription = this.GetSubscriptionById(subscriptionID);
this.logger?.LogInformation("Result subscription : {0}", JsonSerializer.Serialize(subscription.AmpplanId));
this.logger?.LogInformation("Get User");
var userdeatils = this.GetUserById(subscription.UserId);
string oldstatus = subscription.SubscriptionStatus;
if (subscription.SubscriptionStatus == SubscriptionStatusEnumExtension.PendingActivation.ToString())
{
try
{
this.logger?.LogInformation("Get attributelsit");
var subscriptionData = this.fulfillmentApiService.ActivateSubscriptionAsync(subscriptionID, subscription.AmpplanId).ConfigureAwait(false).GetAwaiter().GetResult();
this.logger?.LogInformation("UpdateWebJobSubscriptionStatus");
this.subscriptionsRepository.UpdateStatusForSubscription(subscriptionID, SubscriptionStatusEnumExtension.Subscribed.ToString(), true);
SubscriptionAuditLogs auditLog = new SubscriptionAuditLogs()
{
Attribute = SubscriptionLogAttributes.Status.ToString(),
SubscriptionId = subscription.Id,
NewValue = SubscriptionStatusEnumExtension.Subscribed.ToString(),
OldValue = oldstatus,
CreateBy = userdeatils.UserId,
CreateDate = DateTime.Now,
};
this.subscriptionLogRepository.Save(auditLog);
this.subscriptionLogRepository.LogStatusDuringProvisioning(subscriptionID, "Activated", SubscriptionStatusEnumExtension.Subscribed.ToString());
}
catch (Exception ex)
{
string errorDescriptin = string.Format("Exception: {0} :: Innser Exception:{1}", ex.Message, ex.InnerException);
this.subscriptionLogRepository.LogStatusDuringProvisioning(subscriptionID, errorDescriptin, SubscriptionStatusEnumExtension.ActivationFailed.ToString());
this.logger?.LogInformation(errorDescriptin);
this.subscriptionsRepository.UpdateStatusForSubscription(subscriptionID, SubscriptionStatusEnumExtension.ActivationFailed.ToString(), false);
// Set the status as ActivationFailed.
SubscriptionAuditLogs auditLog = new SubscriptionAuditLogs()
{
Attribute = SubscriptionLogAttributes.Status.ToString(),
SubscriptionId = subscription.Id,
NewValue = SubscriptionStatusEnumExtension.ActivationFailed.ToString(),
OldValue = subscription.SubscriptionStatus,
CreateBy = userdeatils.UserId,
CreateDate = DateTime.Now,
};
this.subscriptionLogRepository.Save(auditLog);
}
}
}