示例#1
0
        /// <summary>
        /// The function to be used to create a campaign.
        /// </summary>
        /// <param name="model">An object of type <see cref="CampaignCreate"/></param>
        /// <returns><see cref="CampaignCreateResponse"/></returns>
        public CampaignCreateResponse CampaignCreate(CampaignCreate model)
        {
            try
            {
                var postData = new Dictionary <string, string>()
                {
                    { "api_output", string.IsNullOrEmpty(model.ApiOutput) ? "json" : model.ApiOutput },
                    { "type", model.Type.ToString().ToLower() },
                    { "segmentid", model.SegmentId.ToString() },
                    { "name", model.Name },
                    { "sdate", model.ScheduleDate.ToString("yyyy-MM-dd HH:mm:ss") },
                    { "status", ((int)model.Status).ToString() },
                    { "public", model.Visible ? "1" : "0" },
                    { "tracklinks", model.TrackLinks.ToString().ToLower() },
                    { "tracklinksanalytics", model.IsToTrackLinkAnalytics ? "1" : "0" },
                    { "trackreads", model.IsToTrackReads ? "1" : "0" },
                    { "trackreplies", model.IsToTrackReplies ? "1" : "0" },
                    { "analytics_campaign_name", model.AnalyticsCampaignName },
                    { "tweet", model.IsToUseListTweetSettings ? "1" : "0" },
                    { "facebook", model.IsToUseListFacebookSettings ? "1" : "0" },
                    { "htmlunsub", model.IsToAppendUnsuscribeLinkToHtmlBody ? "1" : "0" },
                    { "textunsub", model.IsToAppendUnsuscribeLinkToTextBody ? "1" : "0" },
                    { "htmlunsubdata", model.HtmlUnsubscribeCustomData },
                    { "textunsubdata", model.TextUnsubscribeCustomData },
                    { $"m[{model.MessageId}]", model.MessageId.ToString() },
                };

                foreach (int listId in model.ListIds)
                {
                    postData.Add("p[{listId}]", listId.ToString());
                }

                var jsonResponse = SendRequest("campaign_create", null, postData);

                return(JsonConvert.DeserializeObject <CampaignCreateResponse>(jsonResponse));
            }
            catch (Exception ex)
            {
                throw new ExceptionService(ex.Message);
            }
        }
示例#2
0
        //public static CampaignCreate Map(Campaign r) => new CampaignCreate
        //{
        //    CampaignID = r.CampaignId,
        //    Name = r.Name,
        //};

        public static Campaign Map(CampaignCreate r) => new Campaign
        {
            CampaignId = r.CampaignID,
            Name       = r.Name,
        };
 public void Post([FromBody] CampaignCreate value)
 {
     Repo.CreateCampaign(value);
     Repo.Save();
 }
 public void CreateCampaign(CampaignCreate campaign)
 {
     _db.Add(Mapper.Map(campaign));
 }