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