// Creative public ActionResult Index(Guid id) { var campaign = Db.Campaigns .Include(c => c.Assets) .Include(c => c.Testing) .Include(c => c.Approved) .Include(c => c.Creative) .FirstOrDefault(c => c.Id == id); Session["id"] = id; Session["OrderNumber"] = campaign.OrderNumber; var creative = new CreativeVm() { CampaignId = campaign.Id.ToString(), OrderNumber = campaign.OrderNumber, CampaignName = campaign.Testing.CampaignName, FromLine = campaign.Testing.FromLine, SubjectLine = campaign.Testing.SubjectLine, TestSeedFile = campaign.Assets.TestSeedFile, LiveSeedFile = campaign.Assets.LiveSeedFile, Creatives = campaign.Creative?.CreativeHtml, TestEmails = new List <SelectItemPair>(), LiveEmails = new List <SelectItemPair>() }; if (!string.IsNullOrEmpty(campaign.Assets.TestSeedFile)) { string filePath = Path.Combine(UploadPath, campaign.Assets.TestSeedFile); if (!System.IO.File.Exists(filePath) && !string.IsNullOrEmpty(campaign.Assets.TestSeedFile)) { S3FileManager.Download(campaign.Assets.TestSeedFile, filePath); } creative.TestEmails = CreativeHelper.ReadEmails(filePath); } if (!string.IsNullOrEmpty(campaign.Assets.LiveSeedFile)) { string filePathLive = Path.Combine(UploadPath, campaign.Assets.LiveSeedFile); if (!System.IO.File.Exists(filePathLive) && !string.IsNullOrEmpty(campaign.Assets.LiveSeedFile)) { S3FileManager.Download(campaign.Assets.LiveSeedFile, filePathLive); } creative.LiveEmails = CreativeHelper.ReadEmails(filePathLive); } Session["TestSeedFile"] = campaign.Assets.TestSeedFile; Session["TestSeedUrl"] = campaign.Assets.TestSeedUrl; Session["LiveSeedFile"] = campaign.Assets.LiveSeedFile; Session["LiveSeedUrl"] = campaign.Assets.LiveSeedUrl; return(View(creative)); }
public ActionResult TestSend(CreativeVm model) { try { string filePath = Path.Combine(UploadPath, (string)Session["TestSeedList"]); string filePathLive = Path.Combine(UploadPath, (string)Session["FinalSeedList"]); model.TestEmails = CreativeHelper.ReadEmails(filePath); model.LiveEmails = CreativeHelper.ReadEmails(filePathLive); BackgroundJob.Enqueue(() => MailChimpProcessor.TestSend(model)); TempData["Success"] = "Testing creatives has been started successfully!"; } catch (Exception ex) { TempData["Error"] = "There is error in saving data." + string.Join("<br/>", ex.Message); } return(RedirectToAction("Index", new { id = model.CampaignId })); }