En Kentico CMS, ¿cómo mediante programación suscribir usuarios a los boletines?
-
18-09-2019 - |
Pregunta
Al término de una forma de pago personalizado añado dos roles de usuario, una insignia, y dos amigos. Todos estos cambios funcionan bien y rellenar con el objeto de usuario y tablas de bases de datos correspondientes. Cuando utilizo el código de abajo (copiado y modificado de Kentico CMS instalar) consigo IsSubscribed == true, pero el usuario nunca parece estar suscrito. ¿Alguna idea?
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!";
Solución
¡Gracias! Después de construir el suscriptor tiene que añadirlos a la Newsletter. Usted tiene que utilizar:
SubscriberNewsletterInfoProvider.AddSubscriberToNewsletter(sb.SubscriberID, newsletterId, DateTime.Now);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow