public async Task CheckSubscriptionAsync(GraphServiceClient graphService) { Subscription subscription = System.Web.HttpContext.Current.Session["WebHookSubscription"] as Subscription; if (subscription != null && subscription.ExpirationDateTime.HasValue) { DateTimeOffset expiration = (DateTimeOffset)subscription.ExpirationDateTime; //check time if (DateTimeOffset.Now.CompareTo(expiration) >= 0) { //delete old and recreate one await graphService.DeleteSubscriptionAsync(subscription.Id); subscription = await graphService.CreateSubscriptionAsync(); if (subscription != null) { System.Web.HttpContext.Current.Session["WebHookSubscription"] = subscription; } } } else { subscription = await graphService.CreateSubscriptionAsync(); if (subscription != null) { System.Web.HttpContext.Current.Session["WebHookSubscription"] = subscription; } } }
public async Task CheckSubscriptionAsync(GraphServiceClient graphService, string accessToken) { Subscription subscription = System.Web.HttpContext.Current.Session["WebHookSubscription"] as Subscription; if (subscription != null && subscription.ExpirationDateTime.HasValue) { DateTimeOffset expiration = (DateTimeOffset)subscription.ExpirationDateTime; //check time if (DateTimeOffset.Now.CompareTo(expiration) >= 0) { //delete old and recreate one await graphService.DeleteSubscriptionAsync(accessToken, subscription.Id); subscription = await graphService.CreateSubscriptionAsync(accessToken); if (subscription != null) { System.Web.HttpContext.Current.Session["WebHookSubscription"] = subscription; } } } else { subscription = await graphService.CreateSubscriptionAsync(accessToken); if (subscription != null) { System.Web.HttpContext.Current.Session["WebHookSubscription"] = subscription; } } }