Après avoir rempli un formulaire de paiement personnalisé, j'ajoute deux rôles d'utilisateur, un badge et deux amis. Tous ces changements fonctionnent bien et remplissent l'objet Utilisateur et les tables de base de données correspondantes. Lorsque j'utilise le code ci-dessous (copié et modifié depuis l'installation de Kentico CMS), j'obtiens IsSubscribed == true, mais l'utilisateur ne semble jamais être abonné. Des idées?Dans Kentico CMS, comment souscrivez-vous des utilisateurs aux newsletters par programmation?
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!";