/// <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); } }
//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)); }