Frage

Nach Abschluss eines benutzerdefinierten Zahlungsformulars füge ich zwei Benutzerrollen, ein Abzeichen und zwei Freunde hinzu. All diese Änderungen funktionieren gut und füllen sich für das Benutzerobjekt und entsprechende Datenbanktabellen aus. Wenn ich den folgenden Code verwende (kopiert und von der Installation von Kentico CMS geändert) werde ich issuBcribed == true, aber der Benutzer scheint nie abonniert zu sein. Irgendwelche Ideen?

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!";
War es hilfreich?

Lösung

Ich habs! Nachdem Sie den Abonnenten erstellt haben, müssen Sie sie dem Newsletter hinzufügen. Sie müssen verwenden:

SubscriberNewsletterInfoProvider.AddSubscriberToNewsletter(sb.SubscriberID, newsletterId, DateTime.Now);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top