Ejemplo n.º 1
0
        public void getTopTenCampaignsByOpenRateData()
        {
            try
            {
                CampaignJobs objCampaignJob = CampaignJob.SelectAll(ConnectionString);
                //get campaigns whose sent count is greater than 20.
                List<CampaignJob> campaignJobs = (List<CampaignJob>)objCampaignJob.ToList().FindAll(delegate(CampaignJob job) { return job.DeliveredCount > 20; });

                List<string> xValues = new List<string>();
                List<string> yValues = new List<string>();

                foreach (CampaignJob job in campaignJobs)
                {
                    //get names of campaigns.
                    CampaignMasterPrimaryKey pk = new CampaignMasterPrimaryKey(Convert.ToInt64(job.CampaignMasterID));
                    CampaignMaster objCampaignMaster = CampaignMaster.SelectOne(pk, ConnectionString);
                    yValues.Add(objCampaignMaster.CampaignName);

                    //Calculate openrate of campaigns
                    //get sum of opencount of all jobs in this month.
                    int opencount = Convert.ToInt32(campaignJobs.Sum(delegate(CampaignJob campjob) { return campjob.OpenCount; }));
                    //get sum of sentcount of all jobs in this month.
                    int sentcount = Convert.ToInt32(campaignJobs.Sum(delegate(CampaignJob campjob) { return campjob.DeliveredCount; }));
                    //Calculate openrate for that particular month.
                    if (sentcount != 0)
                    {
                        xValues.Add(Convert.ToString(Convert.ToDecimal(opencount) / Convert.ToDecimal(sentcount) * 100));
                    }

                    showChartTopTenCampaignsByOpenRate(xValues.ToArray(), yValues.ToArray());

                }
            }
            catch (Exception ex)
            { throw ex; }
        }
Ejemplo n.º 2
0
        public void getRecipientStatusSnapshotData()
        {
            try
            {
                List<string> xValues = new List<string>();
                List<decimal> yValues = new List<decimal>();

                ContactMasters objContactMaster;// = ContactMaster.SelectAll(ConnectionString);
                if (ddlDays.SelectedIndex == 0)
                {
                    objContactMaster = ContactMaster.SelectAllByToday(ConnectionString);
                    lblFromDate.Text =  DateTime.Now.ToString("dd/MM/yyyy");
                    lblToDate.Text = " - " + DateTime.Now.ToString("dd/MM/yyyy");

                }
                else if (ddlDays.SelectedIndex > 0 && ddlDays.SelectedIndex < 4)
                {
                    objContactMaster = ContactMaster.SelectAllByDays(Convert.ToInt32(ddlDays.SelectedValue), ConnectionString);
                    lblFromDate.Text =  DateTime.Now.AddDays(Convert.ToDouble(ddlDays.SelectedValue)).ToString("dd/MM/yyyy");
                    lblToDate.Text = " - " + DateTime.Now.Date.AddDays(-1).ToString("dd/MM/yyyy");

                }
                else if (ddlDays.SelectedIndex == 4)
                {
                    objContactMaster = ContactMaster.SelectAllByWeek(ConnectionString, ref fdate, ref tdate);
                    lblFromDate.Text =  fdate.ToString("dd/MM/yyyy");
                    lblToDate.Text = " - " + tdate.ToString("dd/MM/yyyy");

                }
                else
                {
                    objContactMaster = ContactMaster.SelectAllByMonths(DateTime.Now.AddMonths(Convert.ToInt32(ddlDays.SelectedValue)), DateTime.Now.AddMonths(-1), ConnectionString);

                    arDates = new ArrayList();
                    arDates = FirstAndLastdates(Convert.ToInt32(ddlDays.SelectedValue));
                    lblFromDate.Text =  Convert.ToDateTime(arDates[0]).ToString("dd/MM/yyyy");
                    lblToDate.Text = " - " + Convert.ToDateTime(arDates[1]).ToString("dd/MM/yyyy");

                }

                //get active contacts.
                IEnumerable<ContactMaster> activeContacts = (IEnumerable<ContactMaster>)objContactMaster.ToList().FindAll(delegate(ContactMaster contact) { return contact.IsActive == true; });
                xValues.Add("Active");
                yValues.Add(activeContacts.Count());
                //if (objContactMaster.Count() != 0)
                //yValues.Add(Convert.ToDecimal(activeContacts.Count()) / Convert.ToDecimal(objContactMaster.Count()) * 100);
                //else
                //    yValues.Add(0);

                //get inactive contacts.
                IEnumerable<ContactMaster> inactiveContacts = (IEnumerable<ContactMaster>)objContactMaster.ToList().FindAll(delegate(ContactMaster contact) { return contact.IsActive == false && (contact.IsDeleted == false || contact.IsDeleted == null); });
                xValues.Add("InActive");
                yValues.Add(inactiveContacts.Count());

                //get deleted contacts
                ContactDeleteds objContactsDeleted;// = ContactDeleted.SelectAll(ConnectionString);
                if (ddlDays.SelectedIndex == 0)
                {
                    objContactsDeleted = ContactDeleted.SelectAllByToday(ConnectionString);
                }
                else if (ddlDays.SelectedIndex>0 && ddlDays.SelectedIndex < 4)
                    objContactsDeleted = ContactDeleted.SelectAllByDays(Convert.ToInt32(ddlDays.SelectedValue), ConnectionString);
                else if (ddlDays.SelectedIndex == 4)
                    objContactsDeleted = ContactDeleted.SelectAllByWeek(ConnectionString, ref fdate, ref tdate);
                else
                    objContactsDeleted = ContactDeleted.SelectAllByMonths(DateTime.Now.AddMonths(Convert.ToInt32(ddlDays.SelectedValue)), DateTime.Now.AddMonths(-1), ConnectionString);
                xValues.Add("Deleted Contacts");
                yValues.Add(objContactsDeleted.Count());

                //get unverified contacts
                IEnumerable<ContactMaster> unverifiedContacts = (IEnumerable<ContactMaster>)objContactMaster.ToList().FindAll(delegate(ContactMaster contact) { return contact.IsVerified != true && contact.IsDeleted != true; });
                xValues.Add("UnVerified Contacts");
                yValues.Add(unverifiedContacts.Count());

                //get inactive and unverified contacts.
                IEnumerable<ContactMaster> inactiveandunverifiedContacts = (IEnumerable<ContactMaster>)objContactMaster.ToList().FindAll(delegate(ContactMaster contact) { return contact.IsActive == false && contact.IsVerified != true && contact.IsDeleted != true; });
                xValues.Add("InActive and UnVerified Contacts");
                yValues.Add(inactiveandunverifiedContacts.Count());

                //Show chart.
                showChartRecipientStatusSnapshot(xValues.ToArray(), yValues.ToArray());
            }
            catch (Exception ex)
            { throw ex; }
        }
Ejemplo n.º 3
0
        public void getTopTenCampaignsByOpenRateData()
        {
            try
            {
                CampaignJobs objCampaignJob;// = CampaignJob.SelectAll(ConnectionString);
                if (ddlDays.SelectedIndex == 0)
                {
                    objCampaignJob = CampaignJob.SelectAllByToday(ConnectionString);
                    lblFromDate.Text =DateTime.Now.ToString("dd/MM/yyyy");
                    lblToDate.Text = " - " + DateTime.Now.ToString("dd/MM/yyyy");

                }
                else if (ddlDays.SelectedIndex > 0 && ddlDays.SelectedIndex < 4)
                {
                    objCampaignJob = CampaignJob.SelectAllByDays(Convert.ToInt32(ddlDays.SelectedValue), ConnectionString);

                    lblFromDate.Text =  DateTime.Now.AddDays(Convert.ToDouble(ddlDays.SelectedValue)).ToString("dd/MM/yyyy");
                    //lblToDate.Text = " - " + DateTime.Now.ToString("dd/MM/yyyy");
                    lblToDate.Text = " - " + DateTime.Now.Date.AddDays(-1).ToString("dd/MM/yyyy");

                }
                else if (ddlDays.SelectedIndex == 4)
                {
                    objCampaignJob = CampaignJob.SelectAllByWeek(ConnectionString, ref fdate, ref tdate);

                    lblFromDate.Text = fdate.ToString("dd/MM/yyyy");
                    lblToDate.Text = " - " + tdate.ToString("dd/MM/yyyy");

                }

                else
                {
                    objCampaignJob = CampaignJob.SelectAllByMonths(DateTime.Now.AddMonths(Convert.ToInt32(ddlDays.SelectedValue)), DateTime.Now.AddMonths(-1), ConnectionString);

                    arDates = new ArrayList();
                    arDates = FirstAndLastdates(Convert.ToInt32(ddlDays.SelectedValue));
                    lblFromDate.Text =  Convert.ToDateTime(arDates[0]).ToString("dd/MM/yyyy");
                    lblToDate.Text = " - " + Convert.ToDateTime(arDates[1]).ToString("dd/MM/yyyy");
                }

                //get top 10 campaigns whose sent count is greater than 20 and in order by descending.
                IEnumerable<CampaignJob> campaignJobs = (IEnumerable<CampaignJob>)(objCampaignJob.ToList().FindAll(delegate(CampaignJob job) { return job.DeliveredCount > 0; }).OrderByDescending(delegate(CampaignJob job) { return job.DeliveredCount; })).Take(10);
                List<string> xValues = new List<string>();
                List<decimal> yValues = new List<decimal>();

                foreach (CampaignJob job in campaignJobs)
                {
                    //get names of campaigns.
                    CampaignMasterPrimaryKey pk = new CampaignMasterPrimaryKey(Convert.ToInt64(job.CampaignMasterID));
                    CampaignMaster objCampaignMaster = CampaignMaster.SelectOne(pk, ConnectionString);
                    xValues.Add(objCampaignMaster.CampaignName);

                    //Calculate openrate of campaigns
                    //get sum of opencount of all jobs in this month.
                    int opencount = Convert.ToInt32(job.OpenCount);
                    //get sum of sentcount of all jobs in this month.
                    int sentcount = Convert.ToInt32(job.DeliveredCount);
                    //Calculate openrate for that particular month.
                    if (sentcount != 0)
                    {
                        yValues.Add(Convert.ToDecimal(opencount) / Convert.ToDecimal(sentcount) * 100);
                    }
                }

                //Show chart.
                showChartTopTenCampaignsByOpenRate(xValues.ToArray(), yValues.ToArray());
            }
            catch (Exception ex)
            { throw ex; }
        }
Ejemplo n.º 4
0
 public void getCampaignCompareCounts()
 {
     DataTable CampareDt = (DataTable)ViewState["CampareDt"];
     List<string> xValues = new List<string>();
     List<decimal> yValuesFirstCamp = new List<decimal>();
     List<decimal> yValuesSecCamp = new List<decimal>();
     List<decimal> yValuesThirdCamp = new List<decimal>();
     for (int i = 0; i < CampareDt.Rows.Count; i++)
     {
         xValues.Add(CampareDt.Rows[i][0].ToString());
         yValuesFirstCamp.Add(Convert.ToDecimal(CampareDt.Rows[i][1].ToString().Split('(')[0]));
         yValuesSecCamp.Add(Convert.ToDecimal(CampareDt.Rows[i][2].ToString().Split('(')[0]));
         if (CampareDt.Columns.Count == 4)
             yValuesThirdCamp.Add(Convert.ToDecimal(CampareDt.Rows[i][3].ToString().Split('(')[0]));
     }
     showCampaignCampareChart(CampareDt, xValues.ToArray(), yValuesFirstCamp.ToArray(), yValuesSecCamp.ToArray(), yValuesThirdCamp.ToArray());
 }
        //Vikas Kumar Bhatnagar
        public void getListHealthOverLast12MonthsDomainData()
        {
            try
            {
                IEnumerable<CampaignJob> campaignJobs;
                CampaignJobs objCampaignJob;// = CampaignJob.SelectAll(ConnectionString);
                if (ddlDays.SelectedIndex == 0)
                {
                    objCampaignJob = CampaignJob.SelectAllDomianByToday(ConnectionString);
                    lblFromDate.Text =DateTime.Now.ToString("dd/MM/yyyy");
                    lblToDate.Text = " - " + DateTime.Now.ToString("dd/MM/yyyy");

                }
                else if (ddlDays.SelectedIndex == 3)
                {
                    objCampaignJob = CampaignJob.SelectAllDomianLast90Days(ConnectionString);
                    lblFromDate.Text =  DateTime.Now.AddDays(Convert.ToDouble(ddlDays.SelectedValue)).ToString("dd/MM/yyyy");
                    //lblToDate.Text = " - " + DateTime.Now.ToString("dd/MM/yyyy");
                    lblToDate.Text = " - " + DateTime.Now.Date.AddDays(-1).ToString("dd/MM/yyyy");

                }
                else if (ddlDays.SelectedIndex == 4)
                {
                    objCampaignJob = CampaignJob.SelectAllDomianByWeek(ConnectionString, ref fdate, ref  tdate);

                    lblFromDate.Text = fdate.ToString("dd/MM/yyyy");
                    lblToDate.Text = " - " + tdate.ToString("dd/MM/yyyy");
                }

                else if (ddlDays.SelectedIndex == 1)
                {
                    objCampaignJob = CampaignJob.SelectAllDomianByWeek(ConnectionString, ref fdate, ref  tdate);
                }

                else if (ddlDays.SelectedIndex == 6)
                {
                    objCampaignJob = CampaignJob.SelectAllDomianLast90Days(ConnectionString);
                }

                else
                {
                    objCampaignJob = CampaignJob.SelectAllDomianByMonth(ConnectionString);

                    arDates = new ArrayList();
                    arDates = FirstAndLastdates(Convert.ToInt32(ddlDays.SelectedValue));
                    //lblFromDate.Text = "Current View : " + Convert.ToDateTime(arDates[0]).ToString("dd/MM/yyyy");
                    //lblToDate.Text = " - " + Convert.ToDateTime(arDates[1]).ToString("dd/MM/yyyy");

                }
                //CampaignJobs objCampaignJob = CampaignJob.SelectAllDomianLast12Months(ConnectionString);
                //calculate last 12 month names to show on X-axis
                List<string> xValues = new List<string>();
                List<decimal> yValues = new List<decimal>();
                foreach (CampaignJob job in objCampaignJob)
                {
                    //get names of campaigns.

                    //CampaignMasterPrimaryKey pk = new CampaignMasterPrimaryKey(Convert.ToInt64(job.CampaignMasterID));
                    //CampaignMaster objCampaignMaster = CampaignMaster.SelectOne(pk, ConnectionString);
                    xValues.Add(job.Domain);
                    yValues.Add(Convert.ToDecimal(job.Accepted));

                }

                //Show chart.
                showChartTopTenCampaignsByBounceRate2(xValues.ToArray(), yValues.ToArray());
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
        public void getGraphByCampaignId()
        {
            try
            {
                lblSubtitle1.Text = ddlcampaigns.SelectedItem.Text + " Campaign Report";
                List<string> xValues = new List<string>();
                List<decimal> yValuesSentCount = new List<decimal>();
                List<decimal> yValuesOpenCount = new List<decimal>();

                List<decimal> yValuesOpenCountChart = new List<decimal>();
                List<decimal> yValuesClickCountChart = new List<decimal>();
                CampaignMasterPrimaryKey pk = new CampaignMasterPrimaryKey(Convert.ToInt64(ddlcampaigns.SelectedValue));
                CampaignMaster objCampaignMaster = CampaignMaster.SelectOne(pk, ConnectionString);

                CampaignJobPrimaryKey Camppk = new CampaignJobPrimaryKey(Convert.ToInt64(ddlcampaigns.SelectedValue));
                //CampaignJob objCampaignJob = CampaignJob.SelectOne(Camppk, ConnectionString);
                CampaignJobs objCampaignJob = CampaignJob.SelectByField("CampaignMasterID", ddlcampaigns.SelectedValue.ToString(), ConnectionString);
                int opencount = 0; int sentcount = 0; int clickcount = 0;
                foreach (CampaignJob job in objCampaignJob)
                {
                    //Calculate LastTopTenCampaignsSent
                    //get sum of opencount of all jobs in this month.
                    opencount = (job.OpenCount != null) ? Convert.ToInt32(job.OpenCount.ToString()) : 0;
                    //opencount = Convert.ToInt32(job.OpenCount.ToString());
                    //get sum of sentcount of all jobs in this month.
                    sentcount = (job.DeliveredCount != null) ? Convert.ToInt32(job.OpenCount.ToString()) : 0;//Convert.ToInt32(job.DeliveredCount.ToString());
                    //get sum of sentcount of all jobs in this month.
                    clickcount = (job.ClickCount != null) ? Convert.ToInt32(job.OpenCount.ToString()) : 0;//Convert.ToInt32(job.ClickCount);
                }
                xValues.Add(objCampaignMaster.CampaignName);
                yValuesSentCount.Add(Convert.ToDecimal(sentcount));
                yValuesOpenCount.Add(Convert.ToDecimal(opencount));

                //this is to bind the open count chart
                if (sentcount > 0)
                {
                    yValuesOpenCountChart.Add(Convert.ToDecimal(opencount) / Convert.ToDecimal(sentcount) * 100);
                }
                else
                {
                    yValuesOpenCountChart.Add(0);
                }

                //Calculate click for that particular month.
                if (opencount != 0)
                {
                    yValuesClickCountChart.Add(Convert.ToDecimal(clickcount) / Convert.ToDecimal(opencount) * 100);
                }
                else
                {
                    yValuesClickCountChart.Add(0);
                }
                //Show chart for sent and open count
                showChartLastTopTenCampaignsSent(xValues.ToArray(), yValuesSentCount.ToArray(), yValuesOpenCount.ToArray());

                //Show chart for open count
                showChartTopTenCampaignsByOpenRate(xValues.ToArray(), yValuesOpenCountChart.ToArray());

                //Show chart for click count
                showChartTopTenCampaignsByClickRate(xValues.ToArray(), yValuesClickCountChart.ToArray());
            }
            catch (Exception ex)
            {

            }
        }
        public void getLastTopTenCampaignsSentData()
        {
            CampaignJobs objCampaignJob;

            try
            {
                 DataTable campaignjobreport = CampaignJob.GetTop5CampaignJobs(4, ConnectionString);
                 if (ddlDays.SelectedIndex == 0)
                 {
                     campaignjobreport = CampaignJob.GetCampaignNamesByDays(1, 1, ConnectionString);
                 }
                 else if (ddlDays.SelectedIndex == 1)
                 {
                     campaignjobreport = CampaignJob.GetCampaignNamesByDays(7, 0, ConnectionString);
                 }
                 else if (ddlDays.SelectedIndex == 2)
                 {
                     campaignjobreport = CampaignJob.GetCampaignNamesByDays(30, 0, ConnectionString);
                 }
                 else if (ddlDays.SelectedIndex == 3)
                 {
                     campaignjobreport = CampaignJob.GetCampaignNamesByDays(90, 0, ConnectionString);
                 }
                 ddlcampaigns.DataSource = campaignjobreport;
                 ddlcampaigns.DataTextField = "CampaignName";
                 ddlcampaigns.DataValueField = "Id";
                 ddlcampaigns.DataBind();

                 if (campaignjobreport.Rows.Count > 0)
                 {

                     if (ddlcampaigns.SelectedIndex != 5)
                     {
                         objCampaignJob = SingleCampaignReports();
                         lblSubtitle1.Text = ddlcampaigns.SelectedItem.Text + " Campaign Report";
                     }
                     else
                     {
                         objCampaignJob = AllCampaignReport();
                         lblSubtitle1.Text = "Last Top 10 Campaigns report";
                     }

                     //get top 10 campaigns whose sent count is greater than 20 and in order by descending.
                     //IEnumerable<CampaignJob> campaignJobs = (IEnumerable<CampaignJob>)(objCampaignJob.ToList().FindAll(delegate(CampaignJob job) { return job.DeliveredCount > 0; }).OrderByDescending(delegate(CampaignJob job) { return job.DeliveredCount; })).Take(10);
                     IEnumerable<CampaignJob> campaignJobs = (IEnumerable<CampaignJob>)(objCampaignJob.ToList().FindAll(delegate(CampaignJob job) { return job.Status == 4; }));

                     List<string> xValues = new List<string>();
                     List<decimal> yValuesSentCount = new List<decimal>();
                     List<decimal> yValuesOpenCount = new List<decimal>();

                     List<decimal> yValuesOpenCountChart = new List<decimal>();
                     List<decimal> yValuesClickCountChart = new List<decimal>();

                     if (campaignJobs != null)
                     {
                         foreach (CampaignJob job in campaignJobs)
                         {
                             //get names of campaigns.
                             CampaignMasterPrimaryKey pk = new CampaignMasterPrimaryKey(Convert.ToInt64(job.CampaignMasterID));
                             CampaignMaster objCampaignMaster = CampaignMaster.SelectOne(pk, ConnectionString);
                             xValues.Add(objCampaignMaster.CampaignName);

                             //Calculate LastTopTenCampaignsSent
                             //get sum of opencount of all jobs in this month.
                             int opencount = Convert.ToInt32(job.OpenCount);
                             //get sum of sentcount of all jobs in this month.
                             int sentcount = Convert.ToInt32(job.DeliveredCount);
                             //get sum of sentcount of all jobs in this month.
                             int clickcount = Convert.ToInt32(job.ClickCount);

                             yValuesSentCount.Add(Convert.ToDecimal(sentcount));
                             yValuesOpenCount.Add(Convert.ToDecimal(opencount));

                             //this is to bind the open count chart
                             if (sentcount > 0)
                             {

                                 yValuesOpenCountChart.Add(Convert.ToDecimal(opencount) / Convert.ToDecimal(sentcount) * 100);
                             }
                             else
                             {
                                 yValuesOpenCountChart.Add(0);
                             }

                             //Calculate click for that particular month.
                             if (opencount != 0)
                             {

                                 yValuesClickCountChart.Add(Convert.ToDecimal(clickcount) / Convert.ToDecimal(opencount) * 100);

                             }
                             else
                             {
                                 yValuesClickCountChart.Add(0);
                             }

                         }
                     }
                     //Show chart for sent and open count
                     showChartLastTopTenCampaignsSent(xValues.ToArray(), yValuesSentCount.ToArray(), yValuesOpenCount.ToArray());

                     //Show chart for open count
                     showChartTopTenCampaignsByOpenRate(xValues.ToArray(), yValuesOpenCountChart.ToArray());

                     //Show chart for click count
                     showChartTopTenCampaignsByClickRate(xValues.ToArray(), yValuesClickCountChart.ToArray());
                 }

            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// To get the top 10 campaigns 
        /// </summary>
        public void getLastTopTenCampaignsSentData()
        {
            CampaignJobs campaignJobs = CampaignJob.SelectTop10SentCamps(ConnectionString);

            List<string> xValues = new List<string>();
            List<Int32> yValuesSentCount = new List<Int32>();
            List<Int32> yValuesOpenCount = new List<Int32>();

            foreach (CampaignJob job in campaignJobs)
            {
                //get names of campaigns.
                CampaignMasterPrimaryKey pk = new CampaignMasterPrimaryKey(Convert.ToInt64(job.CampaignMasterID));
                CampaignMaster objCampaignMaster = CampaignMaster.SelectOne(pk, ConnectionString);

                int opencount = 0, sentcount = 0;

                //Calculate LastTopTenCampaignsSent
                //get sum of opencount of all jobs in this month.
                opencount = Convert.ToInt32(job.OpenCount);
                //get sum of sentcount of all jobs in this month.
                sentcount = Convert.ToInt32(job.DeliveredCount);
                //Calculate openrate for that particular month.

                // for restricting the campaignjobs whcich have the sent count as zero
                if (sentcount != 0)
                {
                    xValues.Add(objCampaignMaster.CampaignName);
                    yValuesSentCount.Add(Convert.ToInt32(sentcount));
                    yValuesOpenCount.Add(Convert.ToInt32(opencount));
                }
            }

            //Show chart.
            showChartLastTopTenCampaignsSent(xValues.ToArray(), yValuesSentCount.ToArray(), yValuesOpenCount.ToArray());
        }
Ejemplo n.º 9
0
        public void getTopTenCampaignsByClickRateData()
        {
            try
            {
                CampaignJobs objCampaignJob;// = CampaignJob.SelectAll(ConnectionString);

                //if (ddlDays.SelectedIndex == 0)
                //    objCampaignJob = CampaignJob.SelectAll(ConnectionString);
                if (ddlDays.SelectedIndex < 3)
                    objCampaignJob = CampaignJob.SelectAllByDays(Convert.ToInt32(ddlDays.SelectedValue), ConnectionString);
                else if (ddlDays.SelectedIndex == 3)
                    objCampaignJob = CampaignJob.SelectAllByWeek(ConnectionString, ref fdate, ref tdate);
                else
                    objCampaignJob = CampaignJob.SelectAllByMonths(DateTime.Now.AddMonths(Convert.ToInt32(ddlDays.SelectedValue)), DateTime.Now.AddMonths(-1), ConnectionString);
                //get top 10 campaigns whose sent count is greater than 20 and in order by descending.
                //IEnumerable<CampaignJob> campaignJobs = (IEnumerable<CampaignJob>)(objCampaignJob.ToList().FindAll(delegate(CampaignJob job) { return job.DeliveredCount > 20; }).OrderByDescending(delegate(CampaignJob job) { return job.DeliveredCount; })).Take(12);

                IEnumerable<CampaignJob> campaignJobs = (IEnumerable<CampaignJob>)(objCampaignJob.ToList().FindAll(delegate(CampaignJob job) { return job.Status == 4; }));

                List<string> xValues = new List<string>();
                List<decimal> yValues = new List<decimal>();

                foreach (CampaignJob job in campaignJobs)
                {
                    //get names of campaigns.
                    CampaignMasterPrimaryKey pk = new CampaignMasterPrimaryKey(Convert.ToInt64(job.CampaignMasterID));
                    CampaignMaster objCampaignMaster = CampaignMaster.SelectOne(pk, ConnectionString);
                    xValues.Add(objCampaignMaster.CampaignName);

                    //Calculate openrate of campaigns
                    //get sum of opencount of all jobs in this month.
                    int opencount = Convert.ToInt32(job.OpenCount);
                    //get sum of sentcount of all jobs in this month.
                    int clickcount = Convert.ToInt32(job.ClickCount);
                    //Calculate openrate for that particular month.
                    if (opencount != 0)
                    {

                        yValues.Add(Convert.ToDecimal(clickcount) / Convert.ToDecimal(opencount) * 100);

                    }
                    else
                    {
                        yValues.Add(0);
                    }
                }

                //Show chart.
                showChartTopTenCampaignsByClickRate(xValues.ToArray(), yValues.ToArray());
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }