2009-08-18 8 views
3

По завершении пользовательской формы оплаты я добавляю две роли пользователя, значок и два друга. Все эти изменения хорошо работают и заполняются объектом User и соответствующими таблицами базы данных. Когда я использую приведенный ниже код (скопированный и измененный с помощью установки Kentico CMS), я получаю IsSubscribed == true, но пользователь никогда не подписывается. Есть идеи?В Kentico CMS, как вы программно подписываете пользователей на информационные бюллетени?

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!"; 

ответ

5

Получил это! После создания подписчика вы должны добавить их в Информационный бюллетень. Вы должны использовать:

SubscriberNewsletterInfoProvider.AddSubscriberToNewsletter(sb.SubscriberID, newsletterId, DateTime.Now); 

 Смежные вопросы

  • Нет связанных вопросов^_^