public ActionResult Save(CreativeVm model) { try { var alreay = Db.CampaignCreatives.FirstOrDefault(x => x.CampaignId.ToString() == model.CampaignId); if (alreay == null) { var creativeId = Guid.NewGuid(); alreay = new CampaignCreative() { Id = creativeId, CreatedAt = DateTime.Now, CampaignId = Guid.Parse(model.CampaignId), CreativeHtml = model.Creatives }; Db.CampaignCreatives.Add(alreay); var campaign = Db.Campaigns.FirstOrDefault(c => c.Id.ToString() == model.CampaignId); campaign.CreativeId = creativeId; } else { alreay.CreativeHtml = model.Creatives; } Db.SaveChanges(); TempData["Success"] = "Creatives has been saved successfully!"; } catch (Exception ex) { TempData["Error"] = "There is error in saving data." + string.Join("<br/>", ex.Message); } return(RedirectToAction("Index", new { id = model.CampaignId })); }
// 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 QuickTestSend(CreativeVm model) { try { MailChimpProcessor.QucikTestSend(model); TempData["Success"] = "Qucik Test has been sent successfully!"; } catch (Exception ex) { TempData["Error"] = "There is error in saving data." + string.Join("<br/>", ex.Message); } return(RedirectToAction("Index", new { id = model.CampaignId })); }
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 })); }