Create campaigns

To create a campaign, you must use the NewslettersManager class. First, you initialize the NewslettersManager. To create the campaign, you call CreateCampaign. Finally, after all properties are set, you save the changes.

The following code creates a campaign with the Native API:

C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Telerik.Sitefinity.Modules.Newsletters;
using Telerik.Sitefinity.Newsletters.Model;

namespace Telerik.Sitefinity.Documentation.CodeSnippets.DevGuide.SitefinityEssentials.Modules.EmailCampaigns
{
    public partial class EmailCampaignsSnippets
    {
        public void CreateCampaign(Guid id, Guid bodyId, string name, string fromName, string subject, string replyToMail, bool useGoogleTracking, CampaignState state)
        {
            NewslettersManager manager = NewslettersManager.GetManager();
            Campaign campaign = manager.GetCampaigns().Where(c => c.Id == id).SingleOrDefault();

            if (campaign == null)
            {
                campaign = manager.CreateCampaign(false, id);
                campaign.MessageBody = manager.GetMessageBodies().Where(b => b.Id == bodyId).SingleOrDefault();
                campaign.Name = name;
                campaign.FromName = fromName;
                campaign.MessageSubject = subject;
                campaign.ReplyToEmail = replyToMail;
                campaign.UseGoogleTracking = useGoogleTracking;
                campaign.CampaignState = state;
                manager.SaveChanges();
            }
        }
    }
}

NOTE: To create a campaign with auto generated ID, use the other overload of the CreateCampaign method.

Want to learn more?
Enhance your Sitefinity skills by enrolling in free training sessions. Become Sitefinity certified through Progress Education Community to strengthen your professional credentials.
New to Sitefinity?