Skip to content

Instantly share code, notes, and snippets.

@enkelmedia
Last active November 23, 2016 15:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save enkelmedia/f91ba5c9cad0fa2b67be5de07b83763c to your computer and use it in GitHub Desktop.
Save enkelmedia/f91ba5c9cad0fa2b67be5de07b83763c to your computer and use it in GitHub Desktop.
How to list Newsletter Studio newsletters on the front end
@using NewsletterStudio.Core.Model
@using NewsletterStudio.Infrastucture
@using NewsletterStudio.Infrastucture.Services
@using NewsletterStudio.Services.RenderTasks
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
Layout = null;
}
@{
// This will give you all the newsletters thats listed in the "Sent"-folder in the backoffice. This means that they are not older than 90 days.
var listOfNewslettersLast90Days = new NewsletterService(GlobalFactory.Current.NewsletterRepository).GetSent();
// This will give you all letters that has been successfully sent.
var listOfAllSentNewsletters = NewsletterStudio.Infrastucture.GlobalFactory.Current.NewsletterRepository.GetByStatus(new int[] { NewsletterStatus.Completed});
}
@if (Request.QueryString["id"] == null)
{
<ul>
@foreach (var item in listOfAllSentNewsletters)
{
<p>
<a href="/?id=@item.Id">@item.Name</a>
</p>
}
</ul>
}
else
{
var letter = GlobalFactory.Current.NewsletterRepository.GetById(Convert.ToInt32(Request.QueryString["id"]));
RenderEngine renderEngine = new RenderEngine(letter);
@Html.Raw(renderEngine.RenderPreview())
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment