예제 #1
0
        public async Task <ActionResult> Drafts(string id = null)
        {
            var options = new CampaignRequest
            {
                ListId    = id,
                Status    = CampaignStatus.Save,
                SortOrder = CampaignSortOrder.DESC,
                Limit     = 10,
            };

            ViewBag.Lists = await Manager.Lists.GetAllAsync();


            //ViewBag.Clicks = GetOpens().Result;
            //14d2abf97d
            //var model = await Manager.Campaigns.GetAllAsync(options);

            //return View(model);


            var sortedList = await Manager.Campaigns.GetAllAsync(options);

            var newCampaignList = new List <CCampaign>();

            foreach (var Campaign in sortedList)
            {
                var newCampaign = new CCampaign
                {
                    CampaignName = Campaign.Settings.Title,
                    //newCampaign.ClickRate = Clicks(Campaign.Id).Result;
                    OpenRate = await Manager.Reports.GetCampaignOpenReportCountAsync(Campaign.Id),
                    Id       = Campaign.Id,
                    //newCampaign.UnsubRate = await Manager.Reports.GetUnsubscribesCountAsync(id);
                    ListName    = Campaign.Recipients.ListName,
                    DateCreated = Campaign.CreateTime.ToString("dd MMMM yyyy"),
                    URL         = Campaign.ArchiveUrl,
                    EmailsSent  = Campaign.EmailsSent,
                    ListId      = Campaign.Recipients.ListId
                };
                newCampaignList.Add(newCampaign);
            }

            newCampaignList.OrderBy(camp => camp.DateCreated);
            Audience audience = new Audience
            {
                CampaignList = newCampaignList
            };

            ViewBag.Lists = await Manager.Lists.GetAllAsync();


            return(View(audience));
        }
예제 #2
0
        private void btnCMStartResume_Click(object sender, EventArgs e)
        {
            if (File.Exists(Path.Combine(AppConstants.CampaignFolderName, cboCMPickCampaign.Text + ".txt")))
            {
                string textContent = File.ReadAllText(Path.Combine(AppConstants.CampaignFolderName, cboCMPickCampaign.Text + ".txt"));
                //You need an array of strings with the split option. You cannot pass a single string
                //Debug to check
                var values = textContent.Split(new string[] { "*()" }, StringSplitOptions.None).ToList();
                currentCampaign = new CCampaign
                {
                    Subject       = values[0],
                    EmailContents = values[1],
                    isHTML        = Convert.ToBoolean(values[2])
                };

                bw.RunWorkerAsync();
            }
        }