Nach Abschluss eines benutzerdefinierten Zahlungsformulars füge ich zwei Benutzerrollen, ein Badge und zwei Freunde hinzu. Alle diese Änderungen funktionieren gut und füllen das Benutzerobjekt und die entsprechenden Datenbanktabellen auf. Wenn ich den folgenden Code verwende (kopiert und geändert von Kentico CMS install), bekomme ich IsSubscribed == true, aber der Benutzer scheint niemals abonniert zu sein. Irgendwelche Ideen?In Kentico CMS, wie programmgesteuert abonnieren Sie Benutzer zu Newslettern?
int newsletterId = 3;
Subscriber sb = SubscriberProvider.GetSubscriber("cms.user", currentUser.UserID);
if (sb == null)
{
// Create new subscriber
sb = SaveSubscriber(); // CreateSubscriber(value[0], itemId);
}
// If subscriber exists and is not subscribed, subscribe him
if ((sb != null) && (!SubscriberProvider.IsSubscribed(sb.SubscriberID, newsletterId)))
{
try
{
SubscriberProvider.Subscribe(sb.SubscriberID, newsletterId, DateTime.Now, false);
lblTroubledUser.Text = "shoulda been subscribed to newsletter";
}
catch
{
lblTroubledUser.Text = "problem subscribing to newsletter";
}
}
else
lblTroubledUser.Text = (!SubscriberProvider.IsSubscribed(sb.SubscriberID, newsletterId)) ? "sb is null" : "already subscribed to newsletter!";