Пример #1
0
 //Ganesh on 30nov09
 //This method will insert a new job in CampaignJob table.
 public void insertCampainJob(CampaignMaster objCampaignMaster, string ScheduledTime, string sendType, Int64 campaignMasterID)
 {
     CampaignJob objCampaignJob = new CampaignJob(ConnectionString);
         objCampaignJob.CampaignMasterID = campaignMasterID;
         objCampaignJob.CreatedDatetime = DateTime.Now;
         objCampaignJob.ScheduledDatetime = Convert.ToDateTime(ScheduledTime);
         objCampaignJob.SendType = sendType;
         objCampaignJob.Status = 1;
         objCampaignJob.Insert();
 }
Пример #2
0
        public void insertCampainJobUpdateCampaignMaster(CampaignMaster objCampaignMaster, string ScheduledTime, int CampaignMasterID)
        {
            //int CampaignMasterID = insertCampainMaster(objCampaignMaster);
            if (CampaignMasterID != 0)
            {
                CampaignJob objCampaignJob = new CampaignJob(ConnectionString);
                //objCampaignJob.CampaignMasterID = CampaignMasterID;
                //objCampaignJob.CreatedDatetime = DateTime.Now;
                objCampaignJob.ScheduledDatetime = Convert.ToDateTime(ScheduledTime);
                //objCampaignJob.ModifiedDate = Convert.ToDateTime(DateTime.Now);
                //objCampaignJob.Status = 1;
                objCampaignJob.Update();

            }
        }
Пример #3
0
 //Ganesh on 30nov09
 //This method will insert a new job in CampaignMaster table.
 public int insertCampainMaster(CampaignMaster objCampaignMaster)
 {
     try
     {
         using (DatabaseHelper oDatabaseHelper = new DatabaseHelper(ConnectionString))
         {
             bool ExecutionState = false;
             oDatabaseHelper.AddParameter("@CampaignName", objCampaignMaster.CampaignName);
             oDatabaseHelper.AddParameter("@CampaignDescription", objCampaignMaster.CampaignDescription);
             oDatabaseHelper.AddParameter("@FromAddress", objCampaignMaster.FromAddress);
             oDatabaseHelper.AddParameter("@FromName", objCampaignMaster.FromName);
             oDatabaseHelper.AddParameter("@ReplytoAddress", objCampaignMaster.ReplytoAddress);
             oDatabaseHelper.AddParameter("@ReplaytoName", objCampaignMaster.ReplaytoName);
             oDatabaseHelper.AddParameter("@TemplateId", objCampaignMaster.TemplateId);
             oDatabaseHelper.AddParameter("@Subject", objCampaignMaster.Subject);
             oDatabaseHelper.AddParameter("@TrackReads", objCampaignMaster.TrackReads);
             oDatabaseHelper.AddParameter("@SelectCondition", objCampaignMaster.SelectCondition);
             oDatabaseHelper.AddParameter("@HTMLContent", objCampaignMaster.HTMLContent);
             oDatabaseHelper.AddParameter("@TextContent", objCampaignMaster.TextContent);
             oDatabaseHelper.AddParameter("@SuppressDomain", objCampaignMaster.SuppressDomain);
             oDatabaseHelper.AddParameter("@UnsubscribeText", objCampaignMaster.UnsubscribeText);
             oDatabaseHelper.AddParameter("@UnsubscribeLinkText", objCampaignMaster.UnsubscribeLinkText);
             oDatabaseHelper.AddParameter("@SuppressLists", objCampaignMaster.SuppressSelection);
             oDatabaseHelper.AddParameter("@AssignedCampaignID", objCampaignMaster.AssignedCampaignID);
             oDatabaseHelper.AddParameter("@CampaignID", -1, System.Data.ParameterDirection.Output);
             oDatabaseHelper.ExecuteScalar("sp_CampaignMaster_Insert_CustomProc", ref ExecutionState);
             int CampaignID = (int)oDatabaseHelper.GetParameterValue("@CampaignID");
             oDatabaseHelper.Dispose();
             return CampaignID;
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public void campaigns_bindcontent(string Textcontent)
        {
            try
            {
                AleartMsgPath = ConfigurationManager.AppSettings["AleartMsg"].ToString();
                if (Request.QueryString["Ptype"] == "GridCampaign")
                {
                    Cpk = new CampaignMasterPrimaryKey(campaignID);
                    campMaster = CampaignMaster.SelectOne(Cpk, ConnectionString);
                    textContent = campMaster.TextContent;
                }
                else
                {
                    textContent = Textcontent;
                }
                if (!textContent.Contains("[!RPLINK:GLOBALUNSUBSCRIBE!]"))
                {
                    textContent = textContent + "<br />If you no longer wish to receive these emails, simply click on the following link:<a href='[!RPLINK:GLOBALUNSUBSCRIBE!]'>Unsubscribe</a>";
                }
                if (textContent.ToLower().Contains("listunsubscribe"))
                {
                    textContent = textContent.Replace("[!RPLINK:LISTUNSUBSCRIBE!]", "javascript:onClick=alert('UnSubscribe links will be activated after your email is sent.')");
                }
                if (textContent.ToLower().Contains("globalunsubscribe"))
                {
                    textContent = textContent.Replace("[!RPLINK:GLOBALUNSUBSCRIBE!]", "javascript:onClick=alert('Global UnSubscribe link will be activated after your email is sent.')");
                }
                if (textContent.ToLower().Contains("forwardtofriend"))
                {
                    textContent = textContent.Replace("[!RPLINK:FORWARDTOFRIEND!]", "javascript:onClick=alert('Forward link will be activated after your email is sent.')");
                }
                if (textContent.ToLower().Contains("mirrorweblink"))
                {
                    textContent = textContent.Replace("[!RPLINK:MIRRORWEBLINK!]", "javascript:onClick=alert('Hosted version link will be activated after your email is sent.')");
                }

                #region this logic will add click link to the content

                if (textContent.Contains("!RPLINK"))
                {
                    string[] startDelimiter = new string[] { "[!RPLINK:" };
                    string[] endDelimiter = new string[] { "!]" };
                    string[] splittedContent = textContent.Split(startDelimiter, StringSplitOptions.None);
                    string LinkURL = string.Empty;
                    for (int i = 1; i < splittedContent.Length; i++)
                    {
                        string linkID = splittedContent[i].Split(endDelimiter, StringSplitOptions.None)[0];
                        if (!string.IsNullOrEmpty(linkID))
                        {
                            LinkDetailPrimaryKey objLinkDetail = new LinkDetailPrimaryKey(Convert.ToInt64(linkID));
                            LinkDetail linkData = LinkDetail.SelectOne(objLinkDetail, ConnectionString);
                            LinkURL = linkData.LinkURL;
                            if (linkData != null)
                            {
                                string replaceToken = startDelimiter[0] + linkID + endDelimiter[0];

                                if (textContent.ToLower().Contains(linkID))
                                {
                                    textContent = textContent.Replace(replaceToken, LinkURL);
                                }
                            }
                        }
                    }
                }
                #endregion
                contentdiv.InnerHtml = textContent;
                ViewState["Content"] = textContent;
                Session["Textcontent"] = null;
            }
            catch (Exception ex)
            {
                //throw;
            }
        }
Пример #5
0
        public string ScheduleMailingWithSuppressList(string Con, string CampaignName, string Subject, string FromName, string ReplyToAddress, string FromAddress, string TemplateName, string ListID, string SupListId, string SeedId, string scheduleTime, string sendType)
        {
            TemplateMaster tempMaster = null;
            try
            {
                long listid = 0;
                TemplateMasters obj = TemplateMaster.SelectByField("TemplateName", TemplateName, Con);
                if (obj.Count > 0)
                {
                    TemplateMasterPrimaryKey template = new TemplateMasterPrimaryKey(Convert.ToInt64(obj[0].TemplateId.ToString()));
                    tempMaster = TemplateMaster.SelectOne(template, Con);
                    CampaignMaster objCampaignMaster = new CampaignMaster(Con);
                    objCampaignMaster.CampaignName = CampaignName;
                    objCampaignMaster.CampaignDescription = "";
                    objCampaignMaster.FromAddress = FromAddress;
                    objCampaignMaster.FromName = FromName;
                    objCampaignMaster.ReplytoAddress = ReplyToAddress;
                    objCampaignMaster.ReplaytoName = FromName;
                    objCampaignMaster.Subject = Subject;
                    objCampaignMaster.TrackReads = true;//"1";
                    objCampaignMaster.SelectCondition = ListID;
                    objCampaignMaster.TemplateId = tempMaster.TemplateId;
                    objCampaignMaster.ModifiedDate = DateTime.Now;
                    objCampaignMaster.CreatedDate = DateTime.Now;
                    objCampaignMaster.HTMLContent = tempMaster.HTMLContent;
                    objCampaignMaster.TextContent = "";
                    objCampaignMaster.SuppressDomain = "";
                    objCampaignMaster.UnsubscribeText = "If you no longer wish to receive these emails, simply click on the following link:";
                    objCampaignMaster.UnsubscribeLinkText = "Unsubscribe";
                    objCampaignMaster.AssignedCampaignID = 0;
                    objCampaignMaster.SuppressSelection = SupListId.ToString();
                    objCampaignMaster.htmlHasUnsubLink = true;
                    objCampaignMaster.txtHasUnsubLink = false;

                    Int64 campaignMasterID = objCampaignMaster.insertMailing(objCampaignMaster);
                    if (campaignMasterID > 0)
                    {
                        CampaignJob objCampaignJob = new CampaignJob(Con);
                        objCampaignJob.CampaignMasterID = campaignMasterID;
                        objCampaignJob.CreatedDatetime = DateTime.Now;
                        objCampaignJob.ScheduledDatetime = Convert.ToDateTime(scheduleTime);// DateTime.Now.AddMinutes(2);//Convert.ToDateTime(LaunchDateTime);
                        Logger.logdata(logforRpService, "Mailing Schedule Date Time :" + scheduleTime + "");
                        objCampaignJob.SendType = sendType;
                        objCampaignJob.Status = 5;
                        objCampaignJob.Insert();

                    }
                    Logger.logdata(logforRpService, "Mailing Inserted Succefully");
                    return (campaignMasterID.ToString());
                }
                else
                {
                    return ("False");
                }

            }
            catch (Exception ex)
            {
                Logger.logdata(logforRpService, ex.Message);
                return ("False");
            }


        }
Пример #6
0
        //[WebMethod(EnableSession = true)]
        //public XmlDocument SendCampaign(string UserID, string Password, string CampaignName, string Subject, string FromName, string ReplyToAddress, string FromAddress, string TemplateName, DataSet ds)
        //{
        //    StringBuilder str = new StringBuilder();
        //    try
        //    {

        //        string Con = GetConnectionString(UserID, Password);
        //        #region Contacts
        //        str.Append("<CampaignDetails>");
        //        LogStartInfo("AddRecipient", Con, UserID);
        //        DataTable contacts = ds.Tables[0];
        //        string ContactIds = "";
        //        if (Con.Trim().Length != 0)
        //        {
        //            if (contacts.Rows.Count > 0 && !(contacts.Columns.IndexOf("EmailAddress") == -1))
        //            {
        //                Logger.logdata(logforRpService, "SendCampaign() at Contacts region");
        //                foreach (DataRow contact in contacts.Rows)
        //                {
        //                    ContactMasters contemail = ContactMaster.SelectByField("EmailAddress", contact["EmailAddress"].ToString(), Con);


        //                    if (contemail.Count > 0)
        //                    {
        //                        try
        //                        {
        //                            ContactIds = ContactIds + contemail[0].ContactId.ToString() + ",";
        //                            ContactMasterPrimaryKey pk = new ContactMasterPrimaryKey(Convert.ToInt64(contemail[0].ContactId.ToString()));
        //                            ContactMaster objContactMaster = ContactMaster.SelectOne(pk, Con);
        //                            objContactMaster.FirstName = contact["FirstName"].ToString();
        //                            objContactMaster.LastName = contact["LastName"].ToString();
        //                            #region Handling Custom fields

        //                            foreach (DataColumn column in contacts.Columns)
        //                            {
        //                                DataTable customFieldDt = ManageFieldsBase.SelectByField("FieldName", column.ColumnName, Con);
        //                                string custField = "";
        //                                if (customFieldDt.Rows.Count > 0)
        //                                {
        //                                    custField = customFieldDt.Rows[0]["ContactFieldName"].ToString();
        //                                }
        //                                if (custField != "" && customFieldDt.Rows.Count > 0 && contact[column.ColumnName] != "")
        //                                {
        //                                    switch (custField)
        //                                    {
        //                                        case "CustomField1":
        //                                            objContactMaster.CustomField1 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField2":
        //                                            objContactMaster.CustomField2 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField3":
        //                                            objContactMaster.CustomField3 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField4":
        //                                            objContactMaster.CustomField4 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField5":
        //                                            objContactMaster.CustomField5 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField6":
        //                                            objContactMaster.CustomField6 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField7":
        //                                            objContactMaster.CustomField7 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField8":
        //                                            objContactMaster.CustomField8 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField9":
        //                                            objContactMaster.CustomField9 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField10":
        //                                            objContactMaster.CustomField10 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField11":
        //                                            objContactMaster.CustomField11 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField12":
        //                                            objContactMaster.CustomField12 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField13":
        //                                            objContactMaster.CustomField13 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField14":
        //                                            objContactMaster.CustomField14 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField15":
        //                                            objContactMaster.CustomField15 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField16":
        //                                            objContactMaster.CustomField16 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField17":
        //                                            objContactMaster.CustomField17 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField18":
        //                                            objContactMaster.CustomField18 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField19":
        //                                            objContactMaster.CustomField19 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField20":
        //                                            objContactMaster.CustomField20 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField21":
        //                                            objContactMaster.CustomField21 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField22":
        //                                            objContactMaster.CustomField22 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField23":
        //                                            objContactMaster.CustomField23 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField24":
        //                                            objContactMaster.CustomField24 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField25":
        //                                            objContactMaster.CustomField25 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField26":
        //                                            objContactMaster.CustomField26 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField27":
        //                                            objContactMaster.CustomField27 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField28":
        //                                            objContactMaster.CustomField28 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField29":
        //                                            objContactMaster.CustomField29 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField30":
        //                                            objContactMaster.CustomField30 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField31":
        //                                            objContactMaster.CustomField31 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField32":
        //                                            objContactMaster.CustomField32 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField33":
        //                                            objContactMaster.CustomField33 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField34":
        //                                            objContactMaster.CustomField34 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField35":
        //                                            objContactMaster.CustomField35 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField36":
        //                                            objContactMaster.CustomField36 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField37":
        //                                            objContactMaster.CustomField37 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField38":
        //                                            objContactMaster.CustomField38 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField39":
        //                                            objContactMaster.CustomField39 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField40":
        //                                            objContactMaster.CustomField40 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField41":
        //                                            objContactMaster.CustomField41 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField42":
        //                                            objContactMaster.CustomField42 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField43":
        //                                            objContactMaster.CustomField43 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField44":
        //                                            objContactMaster.CustomField44 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField45":
        //                                            objContactMaster.CustomField45 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField46":
        //                                            objContactMaster.CustomField46 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField47":
        //                                            objContactMaster.CustomField47 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField48":
        //                                            objContactMaster.CustomField48 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField49":
        //                                            objContactMaster.CustomField49 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField50":
        //                                            objContactMaster.CustomField50 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                    }
        //                                }


        //                            }

        //                            #endregion
        //                            if (objContactMaster.Update() == true)
        //                            {
        //                                //str.Append("<Message>Recipient Updated Successfully</Message>");
        //                                Logger.logdata(logforRpService, "Recipient Updated Successfully");
        //                            }
        //                            else
        //                            {
        //                                //str.Append("<Error>Recipient  Update Failed</Error>");
        //                                Logger.logdata(logforRpService, "Recipient  Update Failed");
        //                            }

        //                        }
        //                        catch (Exception ex)
        //                        {
        //                            str.Append("<Error>Edit Contact: Problem at updating contact</Error>");
        //                            Logger.logdata(logforRpService, ex.Message);

        //                        }


        //                    }
        //                    else
        //                    {
        //                        try
        //                        {
        //                            ContactMaster objContactMaster = new ContactMaster(Con);
        //                            objContactMaster.EmailAddress = contact["EmailAddress"].ToString(); ;
        //                            objContactMaster.EmailContentType = "Html";
        //                            objContactMaster.CreatedDate = DateTime.Now;
        //                            objContactMaster.FirstName = contact["FirstName"].ToString();
        //                            objContactMaster.LastName = contact["LastName"].ToString();
        //                            #region Handling Custom fields

        //                            foreach (DataColumn column in contacts.Columns)
        //                            {
        //                                DataTable customFieldDt = ManageFieldsBase.SelectByField("FieldName", column.ColumnName, Con);
        //                                string custField = "";
        //                                if (customFieldDt.Rows.Count > 0)
        //                                {
        //                                    custField = customFieldDt.Rows[0]["ContactFieldName"].ToString();
        //                                }
        //                                if (custField != "" && customFieldDt.Rows.Count > 0 && contact[column.ColumnName] != "")
        //                                {
        //                                    switch (custField)
        //                                    {
        //                                        case "CustomField1":
        //                                            objContactMaster.CustomField1 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField2":
        //                                            objContactMaster.CustomField2 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField3":
        //                                            objContactMaster.CustomField3 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField4":
        //                                            objContactMaster.CustomField4 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField5":
        //                                            objContactMaster.CustomField5 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField6":
        //                                            objContactMaster.CustomField6 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField7":
        //                                            objContactMaster.CustomField7 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField8":
        //                                            objContactMaster.CustomField8 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField9":
        //                                            objContactMaster.CustomField9 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField10":
        //                                            objContactMaster.CustomField10 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField11":
        //                                            objContactMaster.CustomField11 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField12":
        //                                            objContactMaster.CustomField12 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField13":
        //                                            objContactMaster.CustomField13 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField14":
        //                                            objContactMaster.CustomField14 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField15":
        //                                            objContactMaster.CustomField15 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField16":
        //                                            objContactMaster.CustomField16 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField17":
        //                                            objContactMaster.CustomField17 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField18":
        //                                            objContactMaster.CustomField18 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField19":
        //                                            objContactMaster.CustomField19 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField20":
        //                                            objContactMaster.CustomField20 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField21":
        //                                            objContactMaster.CustomField21 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField22":
        //                                            objContactMaster.CustomField22 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField23":
        //                                            objContactMaster.CustomField23 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField24":
        //                                            objContactMaster.CustomField24 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField25":
        //                                            objContactMaster.CustomField25 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField26":
        //                                            objContactMaster.CustomField26 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField27":
        //                                            objContactMaster.CustomField27 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField28":
        //                                            objContactMaster.CustomField28 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField29":
        //                                            objContactMaster.CustomField29 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField30":
        //                                            objContactMaster.CustomField30 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField31":
        //                                            objContactMaster.CustomField31 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField32":
        //                                            objContactMaster.CustomField32 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField33":
        //                                            objContactMaster.CustomField33 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField34":
        //                                            objContactMaster.CustomField34 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField35":
        //                                            objContactMaster.CustomField35 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField36":
        //                                            objContactMaster.CustomField36 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField37":
        //                                            objContactMaster.CustomField37 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField38":
        //                                            objContactMaster.CustomField38 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField39":
        //                                            objContactMaster.CustomField39 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField40":
        //                                            objContactMaster.CustomField40 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField41":
        //                                            objContactMaster.CustomField41 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField42":
        //                                            objContactMaster.CustomField42 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField43":
        //                                            objContactMaster.CustomField43 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField44":
        //                                            objContactMaster.CustomField44 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField45":
        //                                            objContactMaster.CustomField45 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField46":
        //                                            objContactMaster.CustomField46 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField47":
        //                                            objContactMaster.CustomField47 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField48":
        //                                            objContactMaster.CustomField48 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField49":
        //                                            objContactMaster.CustomField49 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                        case "CustomField50":
        //                                            objContactMaster.CustomField50 = contact[column.ColumnName].ToString();
        //                                            break;
        //                                    }
        //                                }


        //                            }

        //                            #endregion
        //                            objContactMaster.IsActive = true;
        //                            objContactMaster.InsertWithDefaultValues(true);
        //                            Int64 ContactId = Convert.ToInt64(objContactMaster.ContactId);
        //                            ContactIds = ContactIds + ContactId + ",";
        //                            Logger.logdata(logforRpService, "Recipient Added Successfully");

        //                        }
        //                        catch (Exception ex)
        //                        {
        //                            str.Append("<Error>Add New Contact: Problem at adding contact</Error>");
        //                            Logger.logdata(logforRpService, ex.Message);

        //                        }

        //                    }

        //                }
        //                Logger.logdata(logforRpService, "SendCampaign() at Contacts region end");

        //            }
        //            else
        //            {
        //                str.Append("<Error>No records found to send Campaign</Error>");
        //            }


        //            LogEndInfo("AddRecipient");
        //        #endregion
        //            TemplateMaster tempMaster = null;
        //            #region Template
        //            try
        //            {
        //                Logger.logdata(logforRpService, "SendCampaign() at Template region");
        //                TemplateMasters obj = TemplateMaster.SelectByField("TemplateName", TemplateName, Con);
        //                if (obj.Count > 0)
        //                {
        //                    TemplateMasterPrimaryKey template = new TemplateMasterPrimaryKey(Convert.ToInt64(obj[0].TemplateId.ToString()));
        //                    tempMaster = TemplateMaster.SelectOne(template, Con);
        //                }
        //                else
        //                {
        //                    str.Append("<Error>" + TemplateName + " Template Not found</Error>");

        //                }
        //                Logger.logdata(logforRpService, "SendCampaign() at Template region end");

        //            }
        //            catch (Exception ex)
        //            {

        //                str.Append("<Error>Template: Problem at getting mail content</Error>");
        //                Logger.logdata(logforRpService, ex.Message);
        //            }

        //            #endregion
        //            ListMasterBase listMaster = null;
        //            Int64 listid = 0;
        //            #region List
        //            try
        //            {
        //                Logger.logdata(logforRpService, "SendCampaign() at List region");
        //                if (str.ToString().IndexOf("Error") == -1)
        //                {
        //                    listMaster = new ListMasterBase(Con);
        //                    listMaster.ListName = "4VL_" + DateTime.Now;
        //                    listMaster.CreatedDate = System.DateTime.Now;
        //                    listMaster.InsertWithDefaultValues(true);
        //                    listid = Convert.ToInt64(listMaster.ListMasterID);
        //                    str.Append("<ListId>" + listid.ToString() + "</ListId>");
        //                    ContactIds = ContactIds.Substring(0, ContactIds.Length - 1);
        //                    string[] selectContact = ContactIds.Split(',');
        //                    if (listid > 0)
        //                    {
        //                        DataTable dtListContactMaster = new DataTable();
        //                        dtListContactMaster.Columns.Add(new DataColumn("ListMasterID", typeof(string)));
        //                        dtListContactMaster.Columns.Add(new DataColumn("ContactId", typeof(string)));
        //                        dtListContactMaster.Columns.Add(new DataColumn("CreatedDate", typeof(string)));
        //                        dtListContactMaster.Columns.Add(new DataColumn("ModifiedDate", typeof(string)));
        //                        StringBuilder strbAddedContacts = new StringBuilder();
        //                        //ArrayList contactsSelected = (ArrayList)Session["SelectedContacts"];
        //                        foreach (string contactID in selectContact)
        //                        {
        //                            DataRow rowListContactMaster = dtListContactMaster.NewRow();
        //                            rowListContactMaster["ListMasterID"] = listid;
        //                            rowListContactMaster["ContactId"] = contactID;
        //                            rowListContactMaster["CreatedDate"] = DateTime.Now.ToString();
        //                            rowListContactMaster["ModifiedDate"] = DateTime.Now.ToString();
        //                            dtListContactMaster.Rows.Add(rowListContactMaster);
        //                        }
        //                        string[] SourceColumn = new[] { "ListMasterID", "ContactId", "CreatedDate", "ModifiedDate" };
        //                        string[] DestinationColumn = new[] { "ListMasterID", "ContactId", "CreatedDate", "ModifiedDate" };
        //                        ListContactMaster.BulkCopy(dtListContactMaster, "ListContactMaster", SourceColumn, DestinationColumn, Con);
        //                        str.Append("<Message>Recipients Add Successfully to Lists</Message>");
        //                    }
        //                }
        //                Logger.logdata(logforRpService, "SendCampaign() at List region end");


        //            }
        //            catch (Exception ex)
        //            {
        //                str.Append("<Error>List: Problem at ListCreation contact</Error>");
        //                Logger.logdata(logforRpService, ex.Message);
        //            }


        //            #endregion
        //            #region SendCampaign
        //            if (listMaster != null && listid > 0 && str.ToString().IndexOf("Error") == -1)
        //            {
        //                try
        //                {
        //                    Logger.logdata(logforRpService, "SendCampaign() at SendCampaign region");
        //                    CampaignMasters camp = CampaignMaster.SelectByField("CampaignName", CampaignName, Con);
        //                    if (camp.Count > 0)
        //                    {
        //                        str.Append("<CampaignId>" + camp[0].CampaignId.ToString() + "</CampaignId>");
        //                        str.Append("<Message>Campaign Name AllReady Exist</Message>");
        //                    }
        //                    else
        //                    {
        //                        CampaignMaster objCampaignMaster = new CampaignMaster(Con);
        //                        objCampaignMaster.CampaignName = CampaignName;
        //                        objCampaignMaster.CampaignDescription = "";
        //                        objCampaignMaster.FromAddress = FromAddress;
        //                        objCampaignMaster.FromName = FromName;
        //                        objCampaignMaster.ReplytoAddress = ReplyToAddress;
        //                        objCampaignMaster.ReplaytoName = "";
        //                        objCampaignMaster.Subject = Subject;
        //                        objCampaignMaster.TrackReads = true;//"1";
        //                        objCampaignMaster.SelectCondition = listid.ToString();
        //                        objCampaignMaster.TemplateId = tempMaster.TemplateId;

        //                        objCampaignMaster.ModifiedDate = DateTime.Now;
        //                        objCampaignMaster.CreatedDate = DateTime.Now;

        //                        objCampaignMaster.HTMLContent = tempMaster.HTMLContent;
        //                        objCampaignMaster.TextContent = "";
        //                        objCampaignMaster.SuppressDomain = "";
        //                        objCampaignMaster.UnsubscribeText = "";
        //                        objCampaignMaster.UnsubscribeLinkText = "";
        //                        objCampaignMaster.SuppressSelection = "";
        //                        Int64 campaignMasterID = objCampaignMaster.insertCampainMaster(objCampaignMaster);
        //                        if (campaignMasterID > 0)
        //                        {
        //                            CampaignJob objCampaignJob = new CampaignJob(Con);
        //                            objCampaignJob.CampaignMasterID = campaignMasterID;
        //                            objCampaignJob.CreatedDatetime = DateTime.Now;
        //                            objCampaignJob.ScheduledDatetime = DateTime.Now.AddMinutes(2);// DateTime.Now.AddMinutes(2);//Convert.ToDateTime(LaunchDateTime);
        //                            objCampaignJob.SendType = "IMMEDIATE";
        //                            objCampaignJob.Status = 1;
        //                            objCampaignJob.Insert();
        //                        }
        //                        str.Append("<TemplateID>" + tempMaster.TemplateId.ToString() + "</TemplateID>");
        //                        str.Append("<CampaignId>" + campaignMasterID.ToString() + "</CampaignId>");
        //                        str.Append("<Message>Campaign Inserted Succefully</Message>");
        //                        Logger.logdata(logforRpService, "SendCampaign() at SendCampaign region end");

        //                    }


        //                }
        //                catch (Exception ex)
        //                {
        //                    str.Append("<Error>Send Campaign :" + ex.Message + "</Error>");
        //                    Logger.logdata(logforRpService, ex.Message);
        //                }

        //            }
        //        }
        //        else
        //        {
        //            str.Append("<Error>Failed to Connect Database</Error>");
        //            Logger.logdata(logforRpService, "Please Enter Valid Inputs");
        //        }
        //            #endregion


        //    }
        //    catch (Exception ex)
        //    {
        //        str.Append("<Error>" + ex.Message + "</Error>");
        //        Logger.logError(logforRpService, ex);
        //    }
        //    str.Append("</CampaignDetails>");
        //    doc.LoadXml(str.ToString());
        //    return doc;

        //}
        public string ScheduleCampaign(string Con, string CampaignName, string Subject, string FromName, string ReplyToAddress, string FromAddress, string TemplateName, string ListID)
        {
            TemplateMaster tempMaster = null;
            try
            {

                TemplateMasters obj = TemplateMaster.SelectByField("TemplateName", TemplateName, Con);
                if (obj.Count > 0)
                {
                    TemplateMasterPrimaryKey template = new TemplateMasterPrimaryKey(Convert.ToInt64(obj[0].TemplateId.ToString()));
                    tempMaster = TemplateMaster.SelectOne(template, Con);
                    CampaignMaster objCampaignMaster = new CampaignMaster(Con);
                    objCampaignMaster.CampaignName = CampaignName;
                    objCampaignMaster.CampaignDescription = "";
                    objCampaignMaster.FromAddress = FromAddress;
                    objCampaignMaster.FromName = FromName;
                    objCampaignMaster.ReplytoAddress = ReplyToAddress;
                    objCampaignMaster.ReplaytoName = FromName;
                    objCampaignMaster.Subject = Subject;
                    objCampaignMaster.TrackReads = true;//"1";
                    objCampaignMaster.SelectCondition = ListID;
                    objCampaignMaster.TemplateId = tempMaster.TemplateId;

                    objCampaignMaster.ModifiedDate = DateTime.Now;
                    objCampaignMaster.CreatedDate = DateTime.Now;

                    objCampaignMaster.HTMLContent = tempMaster.HTMLContent;
                    objCampaignMaster.TextContent = "";
                    objCampaignMaster.SuppressDomain = "";
                    objCampaignMaster.UnsubscribeText = "";
                    objCampaignMaster.UnsubscribeLinkText = "";
                    objCampaignMaster.SuppressSelection = "";
                    objCampaignMaster.AssignedCampaignID = 0;
                    Int64 campaignMasterID = objCampaignMaster.insertCampainMaster(objCampaignMaster);
                    if (campaignMasterID > 0)
                    {
                        CampaignJob objCampaignJob = new CampaignJob(Con);
                        objCampaignJob.CampaignMasterID = campaignMasterID;
                        objCampaignJob.CreatedDatetime = DateTime.Now;
                        objCampaignJob.ScheduledDatetime = DateTime.Now.AddMinutes(2);// DateTime.Now.AddMinutes(2);//Convert.ToDateTime(LaunchDateTime);
                        objCampaignJob.SendType = "IMMEDIATE";
                        objCampaignJob.Status = 1;
                        objCampaignJob.Insert();
                    }
                    Logger.logdata(logforRpService, "Campaign Inserted Succefully");
                    return (campaignMasterID.ToString());
                }
                else
                {
                    return ("False");
                }

            }
            catch (Exception ex)
            {
                Logger.logdata(logforRpService, ex.Message);
                return ("False");
            }


        }
Пример #7
0
        public string ScheduleMailingWithCampaignID(string Con, long CampaignID, string CampaignName, string Subject, string FromName, string ReplyToAddress, string FromAddress, string TemplateName, string ListID, string SuppressDomain)
        {
            TemplateMaster tempMaster = null;
            try
            {

                TemplateMasters obj = TemplateMaster.SelectByField("TemplateName", TemplateName, Con);
                if (obj.Count > 0)
                {
                    TemplateMasterPrimaryKey template = new TemplateMasterPrimaryKey(Convert.ToInt64(obj[0].TemplateId.ToString()));
                    tempMaster = TemplateMaster.SelectOne(template, Con);
                    CampaignMaster objCampaignMaster = new CampaignMaster(Con);
                    objCampaignMaster.CampaignName = CampaignName;
                    objCampaignMaster.CampaignDescription = "";
                    objCampaignMaster.FromAddress = FromAddress;
                    objCampaignMaster.FromName = FromName;
                    objCampaignMaster.ReplytoAddress = ReplyToAddress;
                    objCampaignMaster.ReplaytoName = FromName;
                    objCampaignMaster.Subject = Subject;
                    objCampaignMaster.TrackReads = true;//"1";
                    objCampaignMaster.SelectCondition = ListID;
                    objCampaignMaster.TemplateId = tempMaster.TemplateId;
                    objCampaignMaster.ModifiedDate = DateTime.Now;
                    objCampaignMaster.CreatedDate = DateTime.Now;
                    objCampaignMaster.HTMLContent = tempMaster.HTMLContent;
                    objCampaignMaster.TextContent = "";
                    objCampaignMaster.SuppressDomain = (SuppressDomain == null) ? "" : SuppressDomain;
                    objCampaignMaster.UnsubscribeText = "";
                    objCampaignMaster.UnsubscribeLinkText = "";
                    objCampaignMaster.SuppressSelection = "";
                    objCampaignMaster.AssignedCampaignID = CampaignID;
                    Int64 MailingID = objCampaignMaster.insertCampainMaster(objCampaignMaster);
                    #region Domine suppress
                    //Create a DataTable for as a parameter to sp
                    DataTable dtDomains = new DataTable();
                    //DataColumn 
                    dtDomains.Columns.Add("DomainName", typeof(string));
                    if (SuppressDomain.Trim().Length > 0)
                    {
                        if (SuppressDomain.Contains(","))
                        {
                            string[] domains = SuppressDomain.Split(',');
                            for (int i = 0; i < domains.Length; i++)
                                dtDomains.Rows.Add(domains[i]);
                        }
                        else
                            dtDomains.Rows.Add(SuppressDomain);
                    }
                    ListContactMaster objListContactMaster = new ListContactMaster(Con);
                    objListContactMaster.InsertInToDomainSuppress_Bulk((int)MailingID, ListID.ToString(), dtDomains); //CampaignMasterIDforUddate, id, ListOfContactIds.ToString(), SuppressDomain);

                    #endregion
                    if (MailingID > 0)
                    {
                        CampaignJob objCampaignJob = new CampaignJob(Con);
                        objCampaignJob.CampaignMasterID = MailingID;
                        objCampaignJob.CreatedDatetime = DateTime.Now;
                        objCampaignJob.ScheduledDatetime = DateTime.Now.AddMinutes(2);// DateTime.Now.AddMinutes(2);//Convert.ToDateTime(LaunchDateTime);
                        objCampaignJob.SendType = "IMMEDIATE";
                        objCampaignJob.Status = 1;
                        objCampaignJob.Insert();
                    }
                    Logger.logdata(logforRpService, "Mailing Inserted Succefully");
                    return (MailingID.ToString());
                }
                else
                {
                    return ("False");
                }

            }
            catch (Exception ex)
            {
                Logger.logdata(logforRpService, ex.Message);
                return ("False");
            }


        }
        public XmlDocument AddMailingWithMinData(string UserID, string Password, string MailingName, string FromName, string FromAddress, string Subject, DataSet Recipients)
        {

            XmlDocument doc = new System.Xml.XmlDocument();
            StringBuilder str = new StringBuilder();
            StringBuilder unDeleverdInfo = new StringBuilder();
            bool isTargetListHavingEmailIds = false;
            List<string> emailColumns = new List<string>();
            emailColumns.Add("Email Address");
            emailColumns.Add("emailaddress");
            emailColumns.Add("email");
            emailColumns.Add("e-mail");
            emailColumns.Add("Email");
            emailColumns.Add("e-mailaddress");
            emailColumns.Add("emailaddress");
            emailColumns.Add("emailadd");
            emailColumns.Add("e-mailadd");
            emailColumns.Add("emailaddress");
            List<string> fnameColumns = new List<string>();
            fnameColumns.Add("firstname");
            fnameColumns.Add("first name");
            fnameColumns.Add("fname");
            List<string> lnameColumns = new List<string>();
            lnameColumns.Add("lastname");
            lnameColumns.Add("last name");
            lnameColumns.Add("lname");
            foreach (DataColumn clm in Recipients.Tables[0].Columns)
            {
                if (emailColumns.Contains(clm.ToString().ToLower()))
                {
                    Recipients.Tables[0].Columns[clm.ToString()].ColumnName = "EmailAddress";
                    isTargetListHavingEmailIds = true;
                }
                else if (fnameColumns.Contains(clm.ToString().ToLower()))
                    Recipients.Tables[0].Columns[clm.ToString()].ColumnName = "FirstName";
                else if (lnameColumns.Contains(clm.ToString().ToLower()))
                    Recipients.Tables[0].Columns[clm.ToString()].ColumnName = "LastName";
            }
            str.Append("<MailingInfo>");
            string ConnectionString = GetConnectionString(UserID, Password);

            string validEmailIds = string.Empty;
            string unsubEmailIds = string.Empty;
            string hardBounceEmailIds = string.Empty;
            string softBounceEmailIds = string.Empty;
            string duplicateEmailids = string.Empty;
            Hashtable contatcInfo = new Hashtable();
            if (ConnectionString.Trim().Length != 0)
            {
                LogStartInfo("AddMailingWithMinData", ConnectionString, UserID);
                Logger.logdata(logforRpService, "Input Paramiters :Mailing Name = " + MailingName + "; No.of Contacts=" + Recipients.Tables[0].Rows.Count);
                if (isTargetListHavingEmailIds)
                {
                    if (MailingName.Trim().Length != 0 && Recipients.Tables.Count > 0 && Recipients.Tables[0].Rows.Count > 0)
                    {
                        Int64 listid = 0;
                        ListMasterBase listMaster = null;
                        DataTable contacts = Recipients.Tables[0];

                        CampaignMasters camp = CampaignMaster.SelectByField("CampaignName", MailingName, ConnectionString);
                        if (camp.Count > 0)
                        {
                            str.Append("<Message>Mailing With Name " + MailingName + " Allready Exist,Please Enter Other Name</Message>");
                            Logger.logdata(logforRpService, "Mailing With Name " + MailingName + " Allready Exist,Please Enter Other Name");
                        }
                        else
                        {
                            #region TargetList
                            if (contacts.Rows.Count > 0)
                            {
                                //string[] EmailIds = contacts.AsEnumerable().Select(row => row.Field<string>("EmailAddress")).ToArray();                        
                                unDeleverdInfo.Append("<UndeliveredList>");
                                foreach (DataRow contact in contacts.Rows)
                                {
                                    ContactMasters contemail = ContactMaster.SelectByField("EmailAddress", contact["EmailAddress"].ToString(), ConnectionString);
                                    DataTable unSubDetails = new DataTable();
                                    DataTable contactMasters = ContactMaster.GetBouceStatusByEmailIds(ConnectionString, contact["EmailAddress"].ToString());
                                    if (contemail.Count > 0)
                                    {
                                        unSubDetails = UnSubscribeDetail.GetUnSubDetailsByContactId(ConnectionString, contemail[0].ContactId.ToString(), string.Empty);
                                    }
                                    if (unSubDetails.Rows.Count > 0)
                                    {
                                        unDeleverdInfo.Append("<Undelivered>");
                                        if (unSubDetails.Rows[0]["Reason"].ToString() == "GlobalUnSub")
                                        {
                                            unDeleverdInfo.Append("<EMailAddress>" + contact["EmailAddress"].ToString() + "</EMailAddress>");
                                            unDeleverdInfo.Append("<RecipientStatus>Unsubscribe</RecipientStatus>");
                                            unsubEmailIds = unsubEmailIds + contact["EmailAddress"].ToString() + ";";
                                        }
                                        else if (unSubDetails.Rows[0]["Reason"].ToString() == "bad-mailbox" || unSubDetails.Rows[0]["Reason"].ToString() == "bad-domain")
                                        {
                                            unDeleverdInfo.Append("<EMailAddress>" + contact["EmailAddress"].ToString() + "</EMailAddress>");
                                            unDeleverdInfo.Append("<RecipientStatus>HardBounce</RecipientStatus>");
                                            hardBounceEmailIds = hardBounceEmailIds + contact["EmailAddress"].ToString() + ";";
                                        }
                                        unDeleverdInfo.Append("</Undelivered>");
                                    }
                                    else if (contactMasters.Rows.Count > 0 && contactMasters.Rows[0]["IsActive"].ToString() == "False" && Convert.ToInt32(contactMasters.Rows[0]["SoftBounceCount"].ToString()) >= SoftBounceCount)
                                    {
                                        unDeleverdInfo.Append("<Undelivered>");
                                        unDeleverdInfo.Append("<EMailAddress>" + contact["EmailAddress"].ToString() + "</EMailAddress>");
                                        unDeleverdInfo.Append("<RecipientStatus>SoftBounce</RecipientStatus>");
                                        unDeleverdInfo.Append("</Undelivered>");
                                        softBounceEmailIds = softBounceEmailIds + contact["EmailAddress"].ToString() + ";";
                                    }
                                    else if (contemail.Count > 0 && contemail[0].EmailAddress.Trim().Length > 0)
                                    {
                                        try
                                        {
                                            if (contemail[0].IsActive == true)
                                            {

                                                if (!contatcInfo.ContainsKey(contemail[0].ContactId))
                                                {
                                                    contatcInfo.Add(contemail[0].ContactId, "");
                                                    validEmailIds = validEmailIds + contemail[0].EmailAddress + ";";
                                                }
                                                else
                                                    duplicateEmailids = duplicateEmailids + contemail[0].EmailAddress + ";";
                                                ContactMasterPrimaryKey pk = new ContactMasterPrimaryKey(Convert.ToInt64(contemail[0].ContactId.ToString()));
                                                ContactMaster objContactMaster = ContactMaster.SelectOne(pk, ConnectionString);

                                                #region Handling Custom fields

                                                foreach (DataColumn column in contacts.Columns)
                                                {
                                                    DataTable customFieldDt = ManageFieldsBase.SelectByField("FieldName", column.ColumnName, ConnectionString);
                                                    string custField = "";
                                                    if (customFieldDt.Rows.Count > 0)
                                                    {
                                                        custField = customFieldDt.Rows[0]["ContactFieldName"].ToString();
                                                    }
                                                    else
                                                        custField = column.ColumnName;

                                                    if (custField != "" && !string.IsNullOrEmpty(contact[column.ColumnName].ToString()))
                                                    {

                                                        switch (custField)
                                                        {
                                                            case "EmailAddress":
                                                                objContactMaster.EmailAddress = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "FirstName":
                                                                objContactMaster.FirstName = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "LastName":
                                                                objContactMaster.LastName = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "Address1":
                                                                objContactMaster.Address1 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "City":
                                                                objContactMaster.City = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "State":
                                                                objContactMaster.State = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "PostalCode":
                                                                objContactMaster.PostalCode = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "Country":
                                                                objContactMaster.Country = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "WorkPhone":
                                                                objContactMaster.WorkPhone = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "HomePhone":
                                                                objContactMaster.HomePhone = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "MobilePhone":
                                                                objContactMaster.MobilePhone = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField1":
                                                                objContactMaster.CustomField1 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField2":
                                                                objContactMaster.CustomField2 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField3":
                                                                objContactMaster.CustomField3 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField4":
                                                                objContactMaster.CustomField4 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField5":
                                                                objContactMaster.CustomField5 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField6":
                                                                objContactMaster.CustomField6 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField7":
                                                                objContactMaster.CustomField7 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField8":
                                                                objContactMaster.CustomField8 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField9":
                                                                objContactMaster.CustomField9 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField10":
                                                                objContactMaster.CustomField10 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField11":
                                                                objContactMaster.CustomField11 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField12":
                                                                objContactMaster.CustomField12 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField13":
                                                                objContactMaster.CustomField13 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField14":
                                                                objContactMaster.CustomField14 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField15":
                                                                objContactMaster.CustomField15 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField16":
                                                                objContactMaster.CustomField16 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField17":
                                                                objContactMaster.CustomField17 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField18":
                                                                objContactMaster.CustomField18 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField19":
                                                                objContactMaster.CustomField19 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField20":
                                                                objContactMaster.CustomField20 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField21":
                                                                objContactMaster.CustomField21 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField22":
                                                                objContactMaster.CustomField22 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField23":
                                                                objContactMaster.CustomField23 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField24":
                                                                objContactMaster.CustomField24 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField25":
                                                                objContactMaster.CustomField25 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField26":
                                                                objContactMaster.CustomField26 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField27":
                                                                objContactMaster.CustomField27 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField28":
                                                                objContactMaster.CustomField28 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField29":
                                                                objContactMaster.CustomField29 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField30":
                                                                objContactMaster.CustomField30 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField31":
                                                                objContactMaster.CustomField31 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField32":
                                                                objContactMaster.CustomField32 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField33":
                                                                objContactMaster.CustomField33 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField34":
                                                                objContactMaster.CustomField34 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField35":
                                                                objContactMaster.CustomField35 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField36":
                                                                objContactMaster.CustomField36 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField37":
                                                                objContactMaster.CustomField37 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField38":
                                                                objContactMaster.CustomField38 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField39":
                                                                objContactMaster.CustomField39 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField40":
                                                                objContactMaster.CustomField40 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField41":
                                                                objContactMaster.CustomField41 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField42":
                                                                objContactMaster.CustomField42 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField43":
                                                                objContactMaster.CustomField43 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField44":
                                                                objContactMaster.CustomField44 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField45":
                                                                objContactMaster.CustomField45 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField46":
                                                                objContactMaster.CustomField46 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField47":
                                                                objContactMaster.CustomField47 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField48":
                                                                objContactMaster.CustomField48 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField49":
                                                                objContactMaster.CustomField49 = contact[column.ColumnName].ToString();
                                                                break;
                                                            case "CustomField50":
                                                                objContactMaster.CustomField50 = contact[column.ColumnName].ToString();
                                                                break;
                                                        }
                                                    }


                                                }

                                                #endregion
                                                if (objContactMaster.Update() == true)
                                                {
                                                    //str.Append("<Message>Recipient Updated Successfully</Message>");
                                                }
                                                else
                                                {
                                                    //str.Append("<Error>Recipient  Update Failed</Error>");
                                                    Logger.logdata(logforRpService, "Recipient  Update Failed");
                                                }
                                            }

                                        }
                                        catch (Exception ex)
                                        {
                                            str.Append("<Error>Edit Contact: Problem at updating contact</Error>");
                                            Logger.logdata(logforRpService, "Update Contact :" + ex.Message);

                                        }

                                    }
                                    else if (contact["EmailAddress"] != null && contact["EmailAddress"].ToString().Trim().Length > 0)
                                    {
                                        try
                                        {
                                            ContactMaster objContactMaster = new ContactMaster(ConnectionString);
                                            objContactMaster.EmailAddress = contact["EmailAddress"].ToString();
                                            objContactMaster.EmailContentType = "Html";
                                            objContactMaster.CreatedDate = DateTime.Now;

                                            #region Handling Custom fields

                                            foreach (DataColumn column in contacts.Columns)
                                            {
                                                DataTable customFieldDt = ManageFieldsBase.SelectByField("FieldName", column.ColumnName, ConnectionString);
                                                string custField = "";
                                                if (customFieldDt.Rows.Count > 0)
                                                {
                                                    custField = customFieldDt.Rows[0]["ContactFieldName"].ToString();
                                                }
                                                else
                                                    custField = column.ColumnName;

                                                if (custField != "" && !string.IsNullOrEmpty(contact[column.ColumnName].ToString()))
                                                {
                                                    switch (custField)
                                                    {
                                                        case "EmailAddress":
                                                            objContactMaster.EmailAddress = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "FirstName":
                                                            objContactMaster.FirstName = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "LastName":
                                                            objContactMaster.LastName = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "Address1":
                                                            objContactMaster.Address1 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "City":
                                                            objContactMaster.City = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "State":
                                                            objContactMaster.State = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "PostalCode":
                                                            objContactMaster.PostalCode = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "Country":
                                                            objContactMaster.Country = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "WorkPhone":
                                                            objContactMaster.WorkPhone = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "HomePhone":
                                                            objContactMaster.HomePhone = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "MobilePhone":
                                                            objContactMaster.MobilePhone = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField1":
                                                            objContactMaster.CustomField1 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField2":
                                                            objContactMaster.CustomField2 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField3":
                                                            objContactMaster.CustomField3 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField4":
                                                            objContactMaster.CustomField4 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField5":
                                                            objContactMaster.CustomField5 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField6":
                                                            objContactMaster.CustomField6 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField7":
                                                            objContactMaster.CustomField7 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField8":
                                                            objContactMaster.CustomField8 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField9":
                                                            objContactMaster.CustomField9 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField10":
                                                            objContactMaster.CustomField10 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField11":
                                                            objContactMaster.CustomField11 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField12":
                                                            objContactMaster.CustomField12 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField13":
                                                            objContactMaster.CustomField13 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField14":
                                                            objContactMaster.CustomField14 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField15":
                                                            objContactMaster.CustomField15 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField16":
                                                            objContactMaster.CustomField16 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField17":
                                                            objContactMaster.CustomField17 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField18":
                                                            objContactMaster.CustomField18 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField19":
                                                            objContactMaster.CustomField19 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField20":
                                                            objContactMaster.CustomField20 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField21":
                                                            objContactMaster.CustomField21 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField22":
                                                            objContactMaster.CustomField22 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField23":
                                                            objContactMaster.CustomField23 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField24":
                                                            objContactMaster.CustomField24 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField25":
                                                            objContactMaster.CustomField25 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField26":
                                                            objContactMaster.CustomField26 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField27":
                                                            objContactMaster.CustomField27 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField28":
                                                            objContactMaster.CustomField28 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField29":
                                                            objContactMaster.CustomField29 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField30":
                                                            objContactMaster.CustomField30 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField31":
                                                            objContactMaster.CustomField31 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField32":
                                                            objContactMaster.CustomField32 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField33":
                                                            objContactMaster.CustomField33 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField34":
                                                            objContactMaster.CustomField34 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField35":
                                                            objContactMaster.CustomField35 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField36":
                                                            objContactMaster.CustomField36 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField37":
                                                            objContactMaster.CustomField37 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField38":
                                                            objContactMaster.CustomField38 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField39":
                                                            objContactMaster.CustomField39 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField40":
                                                            objContactMaster.CustomField40 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField41":
                                                            objContactMaster.CustomField41 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField42":
                                                            objContactMaster.CustomField42 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField43":
                                                            objContactMaster.CustomField43 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField44":
                                                            objContactMaster.CustomField44 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField45":
                                                            objContactMaster.CustomField45 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField46":
                                                            objContactMaster.CustomField46 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField47":
                                                            objContactMaster.CustomField47 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField48":
                                                            objContactMaster.CustomField48 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField49":
                                                            objContactMaster.CustomField49 = contact[column.ColumnName].ToString();
                                                            break;
                                                        case "CustomField50":
                                                            objContactMaster.CustomField50 = contact[column.ColumnName].ToString();
                                                            break;
                                                    }
                                                }


                                            }

                                            #endregion
                                            objContactMaster.IsActive = true;
                                            objContactMaster.InsertWithDefaultValues(true);
                                            Int64 ContactId = Convert.ToInt64(objContactMaster.ContactId);
                                            // ContactIds = ContactIds + ContactId + ",";

                                            if (!contatcInfo.ContainsKey(ContactId))
                                            {
                                                contatcInfo.Add(ContactId, "");
                                                validEmailIds = validEmailIds + contact["EmailAddress"].ToString() + ";";
                                            }
                                            else
                                                duplicateEmailids = duplicateEmailids + contact["EmailAddress"].ToString() + ";";

                                        }
                                        catch (Exception ex)
                                        {
                                            str.Append("<Error>Add New Contact: Problem at adding contact</Error>");
                                            Logger.logdata(logforRpService, "Add New Contact: " + ex.Message);

                                        }

                                    }

                                }
                                unDeleverdInfo.Append("</UndeliveredList>");

                            }

                            try
                            {

                                if (str.ToString().IndexOf("<Error>") == -1 && contatcInfo.Count > 0)
                                {

                                    listMaster = new ListMasterBase(ConnectionString);
                                    listMaster.ListName = "TL_" + DateTime.Now.ToString("yyyy.MM.dd HH:mm:ss");
                                    listMaster.CreatedDate = System.DateTime.Now;
                                    listMaster.InsertWithDefaultValues(true);
                                    listid = Convert.ToInt64(listMaster.ListMasterID);
                                    Logger.logdata(logforRpService, "List Created,ListID = " + listid + "; ListName=" + listMaster.ListName);
                                    //ContactIds = ContactIds.Substring(0, ContactIds.Length - 1);
                                    //string[] selectContact = ContactIds.Split(',');
                                    if (listid > 0)
                                    {

                                        DataTable dtListContactMaster = new DataTable();
                                        dtListContactMaster.Columns.Add(new DataColumn("ListMasterID", typeof(string)));
                                        dtListContactMaster.Columns.Add(new DataColumn("ContactId", typeof(string)));
                                        dtListContactMaster.Columns.Add(new DataColumn("CreatedDate", typeof(string)));
                                        dtListContactMaster.Columns.Add(new DataColumn("ModifiedDate", typeof(string)));
                                        dtListContactMaster.Columns.Add(new DataColumn("IsActive", typeof(bool)));
                                        StringBuilder strbAddedContacts = new StringBuilder();

                                        foreach (DictionaryEntry item in contatcInfo)
                                        {
                                            DataRow rowListContactMaster = dtListContactMaster.NewRow();
                                            rowListContactMaster["ListMasterID"] = listid;
                                            rowListContactMaster["ContactId"] = item.Key;
                                            rowListContactMaster["CreatedDate"] = DateTime.Now.ToString();
                                            rowListContactMaster["ModifiedDate"] = DateTime.Now.ToString();
                                            rowListContactMaster["IsActive"] = true;
                                            dtListContactMaster.Rows.Add(rowListContactMaster);
                                        }
                                        string[] SourceColumn = new[] { "ListMasterID", "ContactId", "CreatedDate", "ModifiedDate", "IsActive" };
                                        string[] DestinationColumn = new[] { "ListMasterID", "ContactId", "CreatedDate", "ModifiedDate", "IsActive" };
                                        ListContactMaster.BulkCopy(dtListContactMaster, "ListContactMaster", SourceColumn, DestinationColumn, ConnectionString);
                                        Logger.logdata(logforRpService, "Added Given Contacts to Created List(ListId :" + listid + ")");

                                    }
                                }


                            }
                            catch (Exception ex)
                            {
                                str.Append("<Error>List: Problem at ListCreation contact</Error>");
                                Logger.logdata(logforRpService, "List: " + ex.Message);
                            }


                            #endregion

                            try
                            {
                                if (str.ToString().IndexOf("<Error>") == -1)
                                {
                                    MembershipUser objMembershipUser = Membership.GetUser(UserID);
                                    ProfileBase objProfileBase = ProfileBase.Create(UserID, true);

                                    CampaignMaster objCampaignMaster = new CampaignMaster(ConnectionString);
                                    objCampaignMaster.CampaignName = MailingName;
                                    objCampaignMaster.CampaignDescription = "";
                                    objCampaignMaster.FromAddress = FromAddress;
                                    objCampaignMaster.FromName = FromName;
                                    objCampaignMaster.ReplytoAddress = "";
                                    objCampaignMaster.ReplaytoName = "";
                                    objCampaignMaster.Subject = Subject;
                                    objCampaignMaster.TrackReads = true;//"1";
                                    objCampaignMaster.SelectCondition = listid.ToString();
                                    objCampaignMaster.TemplateId = 0;
                                    objCampaignMaster.ModifiedDate = DateTime.Now;
                                    objCampaignMaster.CreatedDate = DateTime.Now;
                                    objCampaignMaster.HTMLContent = "";
                                    objCampaignMaster.TextContent = "";
                                    objCampaignMaster.SuppressDomain = "";
                                    objCampaignMaster.UnsubscribeText = "If you no longer wish to receive these emails, simply click on the following link:";
                                    objCampaignMaster.UnsubscribeLinkText = "Unsubscribe";
                                    objCampaignMaster.SuppressSelection = "";
                                    objCampaignMaster.htmlHasUnsubLink = false;
                                    objCampaignMaster.txtHasUnsubLink = false;
                                    objCampaignMaster.AssignedCampaignID = 0;
                                    Int64 campaignMasterID = objCampaignMaster.insertCampainMaster(objCampaignMaster);
                                    Logger.logdata(logforRpService, "Mailing Inserted Successfully(Mailing Id:" + campaignMasterID + ")");
                                    if (campaignMasterID > 0)
                                    {
                                        CampaignJob objCampaignJob = new CampaignJob(ConnectionString);
                                        objCampaignJob.CampaignMasterID = campaignMasterID;
                                        objCampaignJob.CreatedDatetime = DateTime.Now;
                                        objCampaignJob.ScheduledDatetime = DateTime.Now;
                                        objCampaignJob.SendType = "IMMEDIATE";
                                        objCampaignJob.Status = 5;
                                        objCampaignJob.Insert();
                                    }
                                    str.Append("<Message>Mailing Inserted Succefully</Message>");
                                    str.Append("<MailingId>" + campaignMasterID.ToString() + "</MailingId>");
                                    str.Append("<MailingName>" + MailingName + "</MailingName>");
                                    str.Append("<ListID>" + listid + "</ListID>");

                                }
                                else
                                {
                                    str.Append("<Message>Mailing Sending Failed</Message>");
                                    Logger.logdata(logforRpService, "Mailing Sending Failed");

                                }
                            }
                            catch (Exception ex)
                            {
                                str.Append("<Message>Mailing Sending Failed,Problem At Scheduling The Mailing</Message>");
                                Logger.logdata(logforRpService, "Mailing Sending Failed:" + ex.Message);
                            }

                        }
                    }
                    else
                    {
                        str.Append("<Message>Please Enter Mailing Name and Ensure Mailing List File Is Not Empty</Message>");
                        Logger.logdata(logforRpService, "Empty Mailing Not Accepted and Ensure Mailing List File Is Not Empty");
                    }

                }
                else
                {
                    str.Append("<Message>No Email Address Field Found in Targeted List</Message>");
                    Logger.logdata(logforRpService, "No Email Address Field Found in Targeted List");
                }

            }
            else
            {
                str.Append("<Message>Please Enter Valid UserName and Password</Message>");
                Logger.logdata(logforRpService, "Invalid UserName or Password");
            }
            str.Append(unDeleverdInfo);
            str.Append("</MailingInfo>");
            doc.LoadXml(str.ToString());
            return doc;
        }
Пример #9
0
        public XmlDocument AddCampaign(string UserID, string Password, string CampName, string FromAdd, string FromName, string ReplyEmailAdd, string Subject, int TempId, string ListIds, DateTime LaunchDateTime)
        {
            XmlDocument doc = new System.Xml.XmlDocument();
            StringBuilder str = new StringBuilder();
            str.Append("<CampaignInfo>");
            string ConnectionString = GetConnectionString(UserID, Password);
            if (ConnectionString.Trim().Length != 0 && CampName.Trim().Length != 0 && FromAdd.Trim().Length != 0 && FromName.Trim().Length != 0 && Subject.Trim().Length != 0 && ReplyEmailAdd.Trim().Length != 0 && TempId != 0 && ListIds.Trim().Length != 0 && LaunchDateTime != null)//(Convert.ToDateTime(LaunchDateTime) > DateTime.Now))
            {
                //ListMasters list = ListMaster.SelectByField("ListName", ListName, ConnectionString);
                CampaignMasters camp = CampaignMaster.SelectByField("CampaignName", CampName, ConnectionString);
                if (camp.Count > 0)
                {
                    str.Append("<Message>Campaign Name AllRedy Existed</Message>");
                }
                else
                {
                    TemplateMasterPrimaryKey pk = new TemplateMasterPrimaryKey(TempId);
                    TemplateMaster tempMaster = TemplateMaster.SelectOne(pk, ConnectionString);
                    if (tempMaster != null)
                    {
                        CampaignMaster objCampaignMaster = new CampaignMaster(ConnectionString);
                        objCampaignMaster.CampaignName = CampName;
                        objCampaignMaster.CampaignDescription = "";
                        objCampaignMaster.FromAddress = FromAdd;
                        objCampaignMaster.FromName = FromName;
                        objCampaignMaster.ReplytoAddress = ReplyEmailAdd;
                        objCampaignMaster.ReplaytoName = "";
                        objCampaignMaster.Subject = Subject;
                        objCampaignMaster.TrackReads = true;//"1";
                        objCampaignMaster.SelectCondition = ListIds;
                        objCampaignMaster.TemplateId = TempId;

                        objCampaignMaster.ModifiedDate = DateTime.Now;
                        objCampaignMaster.CreatedDate = DateTime.Now;

                        objCampaignMaster.HTMLContent = tempMaster.HTMLContent;
                        objCampaignMaster.TextContent = "";
                        objCampaignMaster.SuppressDomain = "";
                        Int64 campaignMasterID = objCampaignMaster.insertCampainMaster(objCampaignMaster);
                        if (campaignMasterID > 0)
                        {
                            CampaignJob objCampaignJob = new CampaignJob(ConnectionString);
                            objCampaignJob.CampaignMasterID = campaignMasterID;
                            objCampaignJob.CreatedDatetime = DateTime.Now;
                            objCampaignJob.ScheduledDatetime = LaunchDateTime.AddMinutes(2);// DateTime.Now.AddMinutes(2);//Convert.ToDateTime(LaunchDateTime);
                            objCampaignJob.SendType = "IMMEDIATE";
                            objCampaignJob.Status = 1;
                            objCampaignJob.Insert();
                        }
                        str.Append("<Message>Campaign Inserted Succefully</Message>");
                    }
                    else
                    {
                        str.Append("<Message>Enter Valid TemplateId</Message>");
                    }
                }
            }
            else
            {
                str.Append("<Message>Enter Valid Inputs</Message>");
            }
            str.Append("</CampaignInfo>");
            doc.LoadXml(str.ToString());
            return doc;
        }
Пример #10
0
        public bool saveCampaignDetailsTab(bool Rflag)
        {
            if (txtCampaignName.Text == string.Empty)
            {
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "Success", "alert('Please enter Mailing name in Mailing Details Tab.')", true);
                Rflag = false;
            }
            else if (ddlFromAddress.SelectedItem.Text == string.Empty)
            {
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "Success", "alert('Please enter FromAddress.')", true);
                Rflag = false;
            }
            else if (txtFromName.Text == string.Empty)
            {
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "Success", "alert('Please enter FromName.')", true);
                Rflag = false;
            }
            else if (txtSubject.Text == string.Empty)
            {
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), "Success", "alert('Please enter subject from Mailing Details tab.')", true);
                Rflag = false;
            }
            else
            {
                if (hiddenCampaignID.Value == string.Empty)
                {
                    objCampaignMaster = new CampaignMaster(ConnectionString);
                    DataTable campMaster = CampaignMasterBase.SelectByName("CampaignName", txtCampaignName.Text.ToString(), ConnectionString);
                    if (campMaster.Rows.Count != 0)
                    {
                        ScriptManager.RegisterStartupScript(Page, Page.GetType(), "Success", "alert('Mailing already Exists with this Name.')", true);
                        Rflag = false;
                    }
                    else
                    {
                        objCampaignMaster.CampaignName = txtCampaignName.Text;
                        objCampaignMaster.CampaignDescription = txtCampaignDescription.Text;
                        objCampaignMaster.FromAddress = ddlFromAddress.SelectedItem.Text;
                        objCampaignMaster.FromName = txtFromName.Text;
                        objCampaignMaster.ReplytoAddress = txtReplytoAddress.Text;
                        objCampaignMaster.ReplaytoName = txtReplaytoName.Text;
                        objCampaignMaster.Subject = txtSubject.Text;
                        objCampaignMaster.TrackReads = chkTrackReads.Checked;

                        if (RadEditor1.Content.ToString().Trim().Length != 0)
                            objCampaignMaster.htmlHasUnsubLink = chkAddress.Checked;
                        else
                            objCampaignMaster.htmlHasUnsubLink = false;
                        if (textRadEditor.Content.ToString().Trim().Length != 0)
                            objCampaignMaster.txtHasUnsubLink = chkTxtAddress.Checked;
                        else
                            objCampaignMaster.txtHasUnsubLink = false;

                        objCampaignMaster.UnsubscribeText = txtUnsubscribe.Text;
                        objCampaignMaster.UnsubscribeLinkText = DDLinktext.SelectedItem.Text;
                        if (ddlCampsNames.Text != defaultListItem)
                            objCampaignMaster.AssignedCampaignID = Convert.ToInt64(ddlCampsNames.SelectedItem.Value);
                        else
                            objCampaignMaster.AssignedCampaignID = 0;
                        lblunsubinfo.Text = txtUnsubscribe.Text;
                        lblunsublinktext.Text = DDLinktext.SelectedItem.Text;
                        DivUnsubtext.InnerHtml = lblunsubinfo.Text + " \n" + lblunsublinktext.Text;

                        objCampaignMaster.TemplateId = 0;
                        objCampaignMaster.HTMLContent = string.Empty;
                        objCampaignMaster.TextContent = string.Empty;
                        objCampaignMaster.SelectCondition = string.Empty;
                        objCampaignMaster.SuppressDomain = string.Empty;
                        objCampaignMaster.SuppressSelection = string.Empty;

                        Int64 campaignMasterID = objCampaignMaster.insertMailing(objCampaignMaster);
                        if (campaignMasterID > 0)
                        {
                            //Insert In CampaignJob Table
                            CampaignJob objCampaignJob = new CampaignJob(ConnectionString);
                            objCampaignJob.CampaignMasterID = campaignMasterID;
                            objCampaignJob.CreatedDatetime = DateTime.Now;
                            objCampaignJob.ScheduledDatetime = DateTime.Now; //Convert.ToDateTime(scheduledTime);
                            objCampaignJob.SendType = sendType;
                            objCampaignJob.Status = 5;
                            objCampaignJob.Insert();

                            //Insert in CampaignMailing Table
                            if (ddlCampsNames.Text != defaultListItem)
                            {
                                CampaignMailing objCampaignMailing = new CampaignMailing(ConnectionString);
                                objCampaignMailing.CampaignId = campaignMasterID;
                                objCampaignMailing.CampaignsID = Convert.ToInt64(ddlCampsNames.SelectedItem.Value);//Mailing Id
                                objCampaignMailing.CreatedDate = DateTime.Now;
                                objCampaignMailing.ModifiedDate = DateTime.Now;
                                objCampaignMailing.IsActive = true;
                                objCampaignMailing.Insert();
                            }
                            status = true;
                            insert = true;
                        }
                        hiddenCampaignID.Value = campaignMasterID.ToString();
                        lblCampName.Text = objCampaignMaster.CampaignName.ToString().Trim();
                        Rflag = true;
                        statusType = "Inserted";
                        //statusType = "Updated";
                        ViewState["statusType"] = "Inserted";
                        hdCampDetailsTab1.Value = "0"; //After Save CampaignDetails Iam Change the Value of Hidden Variable value to Zero.
                    }
                }
                else
                {
                    updateCampaignDetailsTab();
                    Rflag = true;
                }
            }
            return Rflag;
        }
Пример #11
0
        protected void SingleMailingCounts(string campaignID, string mailingId)
        {
            if (ddlMailingNames.SelectedItem.Text != defaultMailingItem)
                lblCampaignTitle.Text = ddlMailingNames.SelectedItem.Text.ToString();
            else if (ddlCampaignsNames.SelectedItem.Text != defaultCampItem)
                lblCampaignTitle.Text = ddlCampaignsNames.SelectedItem.Text.ToString();
            else
            {
                lblCampaignTitle.Text = string.Empty;
            }
            Session["TitleName"] = lblCampaignTitle.Text;

            string selectedList = string.Empty;
            if (mailingId != string.Empty || campaignID != string.Empty)
            {
                long ActiveCount = 0;
                lblContactsTargeted.Text = "0";
                lblSuccessfulDeliveries.Text = "0";
                lblUnsubscribe.Text = "0";
                lblTotalOpens.Text = "0";
                lblUniqueopens.Text = "0";
                lblBounces.Text = "0";
                lblTotalClicks.Text = "0";
                lblUniqueClicks.Text = "0";
                lblForwrds.Text = "0";
                List<string> listsSelected = new List<string>();
                List<string> xValues = new List<string>();
                List<double> yValues = new List<double>();

                string startMailingId = string.Empty;
                string endingMailingId = string.Empty;
                if (ddlCampaignsNames.SelectedItem.Text != defaultCampItem || ddlMailingNames.SelectedItem.Text!=defaultMailingItem)
                {
                    if (ddlMailingNames.SelectedItem.Text == defaultMailingItem)
                    {
                        //Get the Latest Sent Mailing.
                        startMailingId = ddlMailingNames.Items[1].Value.ToString();
                        CampaignMasterPrimaryKey objCampaignMasterPrimaryKey = new CampaignMasterPrimaryKey(Convert.ToInt64(startMailingId));
                        objCampaignMaster = CampaignMaster.SelectOneWithCampaignJobUsingCampaignMasterID(objCampaignMasterPrimaryKey, ConnectionString);

                        objCampaignjob = CampaignJob.SelectByField("CampaignMasterID", Convert.ToInt64(startMailingId), ConnectionString);
                        lblSendCompletionDate.Text = objCampaignjob[0].CompletionTime.ToString();

                        //Get the First Sent Mailing.
                        endingMailingId = ddlMailingNames.Items[ddlMailingNames.Items.Count - 1].Value.ToString();
                        if (ddlCampaignsNames.SelectedItem.Text != defaultCampItem)
                        {
                            objEndCampaignjob = CampaignJob.SelectByField("CampaignMasterID", Convert.ToInt64(endingMailingId), ConnectionString);
                            lblSendStartDate.Text = objEndCampaignjob[0].StartTime.ToString();
                        }
                        else
                        {
                            lblSendStartDate.Text = objCampaignjob[0].StartTime.ToString();
                        }
                    }
                    else
                    {
                        CampaignMasterPrimaryKey objCampaignMasterPrimaryKey = new CampaignMasterPrimaryKey(Convert.ToInt64(mailingId));
                        objCampaignMaster = CampaignMaster.SelectOneWithCampaignJobUsingCampaignMasterID(objCampaignMasterPrimaryKey, ConnectionString);

                        objCampaignjob = CampaignJob.SelectByField("CampaignMasterID", Convert.ToInt64(mailingId), ConnectionString);
                        lblSendStartDate.Text = objCampaignjob[0].StartTime.ToString();
                        lblSendCompletionDate.Text = objCampaignjob[0].CompletionTime.ToString();
                    }
                }
                if (mailingId.Length != 0)
                {

                    if (objCampaignMaster.Subject.Length > 30)
                        lblSubject.Text = objCampaignMaster.Subject.Substring(0, 30) + "..";
                    else
                        lblSubject.Text = objCampaignMaster.Subject.ToString();
                    lblSubject.ToolTip = objCampaignMaster.Subject.ToString();
                    lblsentDateTime.Text = "Sent: " + objCampaignjob[0].CompletionTime.ToString();
                    Session["SentDateTime"] = lblsentDateTime.Text;

                    string SelectCondition = objCampaignMaster.SelectCondition;
                    string[] ListIds = SelectCondition.Split(',');

                    StringBuilder selectedListExport = new StringBuilder();

                    //Commented by Swaroop no need to touch the db iam take the count form indivitual tables code written bellow
                    ListContactMaster objListContactMaster = new ListContactMaster(ConnectionString);
                    DataTable dtcontacts = objListContactMaster.getContactsWithCampaignID(objCampaignMaster.SelectCondition, mailingId.ToString());
                    Session["ContactsTargeted"] = dtcontacts;
                    foreach (var Id in ListIds)
                    {
                        if (Id != "")
                        {
                            ListMasterPrimaryKey pk = new ListMasterPrimaryKey(Convert.ToInt64(Id));
                            ListMaster list = ListMaster.SelectOne(pk, ConnectionString);
                            if (list != null)
                            {
                                bool IsListRemoved = true;
                                if (list.IsDeleted == null || list.IsDeleted == false)
                                    IsListRemoved = false;

                                if (!IsListRemoved)
                                    selectedList += list.ListName.ToString() + ",";
                                else
                                {
                                    selectedList += list.ListName.ToString() + "(List has been removed),";
                                }

                                listsSelected.Add(list.ListName);
                            }
                        }
                    }
                    if (selectedList != "")
                        selectedList = selectedList.TrimEnd(',');
                    if (selectedList.Length > 0)
                    {
                        lblSelectedList.Style.Add("color", "#717171");
                        selectedList.Remove(selectedList.Length - 2, 1);
                        lblSelectedList.Text = selectedList.ToString();
                        Session["ListNames"] = selectedList.ToString();
                    }
                    else
                    {
                        selectedList = "The List has been moved or removed";
                        Session["ListNames"] = selectedList.ToString();
                        lblSelectedList.Text = string.Empty;
                        lblSelectedList.Style.Add("color", "red");
                        lblSelectedList.Text = "The List has been moved or removed";
                    }
                    if (selectedList.Length >= 30)
                    {
                        lblSelectedList.Text = selectedList.Substring(0, 30) + "...";
                        lblSelectedList.ToolTip = selectedList;
                    }
                }
                lblResultsAsOf.Text = DateTime.Now.ToString();
                //Bellow mailingId become to empty bcz. when iam selecting only Campaign not Mailing at that time only we want to disply latest sent Mailing Info of particular Campaign.
                if (hdfMailingID.Value == string.Empty)
                    mailingId = string.Empty;

                #region Swaroop
                //Get the values form Individual Tables Link EmailOpenDatils Developed By Swaroop etc...

                DataTable ListSuccessfulDelivered, emailsOpened, emailsClicked, BounceRecipients, forwardRecipients, ListUnsubScribeRecipients = null;

                if (mailingId != string.Empty)
                {
                    ListSuccessfulDelivered = ContactMaster.SelectSuccessfulDeliveredByCampId(ConnectionString, Convert.ToInt32(mailingId));
                    sentcount = ListSuccessfulDelivered.Rows.Count;
                }
                else
                {
                    ListSuccessfulDelivered = ContactMaster.SelectSuccessfulDeliveredByAssignCampId(ConnectionString, Convert.ToInt32(campaignID));
                    sentcount = ListSuccessfulDelivered.Rows.Count;
                }

                if (mailingId != string.Empty)
                {
                    emailsOpened = ContactMaster.EmailOpendRecByCampId_PageWise(ConnectionString, mailingId, "ContactId", "desc", 0, 10, out Count, out TotalOpenCounts, out UniqueOpenCounts);
                    opencount = UniqueOpenCounts;
                }
                else
                {
                    emailsOpened = ContactMaster.EmailOpendRecByAssignCampId_PageWise(ConnectionString, campaignID, "ContactId", "desc", 0, 10, out Count, out TotalOpenCounts, out UniqueOpenCounts);
                    opencount = UniqueOpenCounts;
                }
                if (mailingId != string.Empty)
                {
                    emailsClicked = ContactMaster.EmailClickedRecByCampId_PageWise(ConnectionString, mailingId, "ContactId", "desc", 0, 10, out Count, out TotalClickCounts, out UniqueClickCounts);
                }
                else
                {
                    emailsClicked = ContactMaster.EmailClickedRecByAssignCampId_PageWise(ConnectionString, campaignID, "ContactId", "desc", 0, 10, out Count, out TotalClickCounts, out UniqueClickCounts);
                }
                if (mailingId != string.Empty)
                {
                    BounceRecipients = ContactMaster.SelectRecipientsBounceRecByCampId(ConnectionString, Convert.ToInt32(mailingId), out TotalBounceCount, out SoftBounceCount, out HardBounceCount);
                    bouncecount = BounceRecipients.Rows.Count;
                }
                else
                {
                    BounceRecipients = ContactMaster.SelectRecipientsBounceRecByAssignCampId(ConnectionString, Convert.ToInt32(campaignID), out TotalBounceCount, out SoftBounceCount, out HardBounceCount);
                    bouncecount = TotalBounceCount;
                }

                unopencount = sentcount - opencount;
                if (mailingId != string.Empty)
                {
                    forwardRecipients = ContactMaster.SelectForwardRecipients(ConnectionString, Convert.ToInt32(mailingId));
                    Fcount = forwardRecipients.Rows.Count;
                }
                else
                {
                    forwardRecipients = ContactMaster.SelectForwardRecipientsByAssignId(ConnectionString, Convert.ToInt32(campaignID), out TotalForwardCount);
                    Fcount = TotalForwardCount;
                }
                if (mailingId != string.Empty)
                {
                    ListUnsubScribeRecipients = ContactMaster.SelectUnsubscribeRecipients(ConnectionString, Convert.ToInt32(mailingId), out NeverOptedCount, out CommCount, out NotInterestedCount, out OtherCount);
                    UnSubscribeCount = ListUnsubScribeRecipients.Rows.Count;
                }
                else
                {
                    ListUnsubScribeRecipients = ContactMaster.SelectUnsubscribeRecipientsByAssignedCampId(ConnectionString, Convert.ToInt32(campaignID), out NeverOptedCount, out CommCount, out NotInterestedCount, out OtherCount, out TotalUnsubCount);
                    UnSubscribeCount = TotalUnsubCount;
                }

                yValues.Clear();
                if (sentcount != 0)
                {
                    yValues.Add(Convert.ToDouble(opencount));
                    yValues.Add(Convert.ToDouble(bouncecount));
                    yValues.Add(Convert.ToDouble(unopencount));
                }

                #endregion

                lblRecipients.Text = (sentcount + bouncecount).ToString();
                ActiveCount = sentcount + bouncecount;
                double TotalCount = sentcount + bouncecount;
                double plotY = 0;
                ShowCampaignCountChart.Series["Series1"].Points.Clear();
                if (yValues.Count != 0)
                {
                    for (int pointIndex = 0; pointIndex < yValues.Count; pointIndex++)
                    {
                        plotY = yValues[pointIndex];
                        ShowCampaignCountChart.Series["Series1"].Points.AddY(plotY);
                        ShowCampaignCountChart.Series["Series1"].Points[pointIndex].LabelForeColor = System.Drawing.Color.White;
                    }

                    ShowCampaignCountChart.Series["Series1"].Points[0].LegendText = "Open" + " " + ((Convert.ToDouble(yValues[0].ToString()) / TotalCount) * 100).ToString("###########0.00") + "%" + " (" + yValues[0].ToString() + ")";
                    ShowCampaignCountChart.Series["Series1"].Points[1].LegendText = "Bounce" + " " + ((Convert.ToDouble(yValues[1].ToString()) / TotalCount) * 100).ToString("###########0.00") + "%" + " (" + yValues[1].ToString() + ")";
                    ShowCampaignCountChart.Series["Series1"].Points[2].LegendText = "Unopen" + " " + ((Convert.ToDouble(yValues[2].ToString()) / TotalCount) * 100).ToString("###########0.00") + "%" + " (" + yValues[2].ToString() + ")";

                    //Display tooltip for the chart
                    ShowCampaignCountChart.Series["Series1"].Points[0].ToolTip = "Open Count:" + yValues[0].ToString() + " (" + Math.Round((double.Parse(yValues[0].ToString()) * 100 / TotalCount)).ToString() + "%" + ")";
                    ShowCampaignCountChart.Series["Series1"].Points[1].ToolTip = "Bounce Count:" + yValues[1].ToString() + " (" + Math.Round((double.Parse(yValues[1].ToString()) * 100 / TotalCount)).ToString() + "%" + ")";
                    ShowCampaignCountChart.Series["Series1"].Points[2].ToolTip = "Unopen Count:" + yValues[2].ToString() + " (" + Math.Round((double.Parse(yValues[2].ToString()) * 100 / TotalCount)).ToString() + "%" + ")";
                    //Applying colors
                    ShowCampaignCountChart.Series["Series1"].Points[0].Color = System.Drawing.Color.Green;
                    ShowCampaignCountChart.Series["Series1"].Points[1].Color = System.Drawing.Color.Red;
                    ShowCampaignCountChart.Series["Series1"].Points[2].Color = System.Drawing.Color.DarkBlue;

                    //show Chart
                    ShowCampaignCountChart.Series["Series1"].ChartType = SeriesChartType.Pie;
                    ShowCampaignCountChart.Series["Series1"]["PieStartAngle"] = "30";

                    //get sum of sentcount for selected campaign .
                    double sendcount = Convert.ToDouble(sentcount);
                    double targetcount = sendcount + yValues[1];
                    //showing value in table
                    lblContactsTargeted.Text = lblContactsTargeted.Text != null ? ActiveCount.ToString() : "0";
                    lblSuccessfulDeliveries.Text = sendcount.ToString() != "" ? sendcount + "(" + Math.Round((sendcount) * 100 / ActiveCount).ToString() + "%" + ")" : "0";
                    lblBounces.Text = yValues[1].ToString() != null ? yValues[1].ToString() + "(" + Math.Round((double.Parse(yValues[1].ToString()) * 100 / ActiveCount)).ToString() + "%" + ")" : "0";

                    lblUnsubscribe.Text = UnSubscribeCount.ToString();
                    lblForwrds.Text = Fcount.ToString() != null ? Fcount.ToString() : "0";

                    lblTotalOpens.Text = TotalOpenCounts.ToString();
                    lblUniqueopens.Text = UniqueOpenCounts.ToString() != null ? UniqueOpenCounts.ToString() + "(" + Math.Round((double.Parse(UniqueOpenCounts.ToString()) * 100 / sendcount)).ToString() + "%" + ")" : "0";

                    lblUniqueClicks.Text = UniqueClickCounts.ToString();
                    lblTotalClicks.Text = TotalClickCounts.ToString();
                }
                else
                    Session["allCounts"] = null;
                # region DataExportToExcel
                string str = selectedList.ToString(); //.Replace(",", ";");
                DataTable dtExportSummary = new DataTable();
                DataColumn s1;
                if (ddlMailingNames.SelectedItem.ToString() != defaultMailingItem)
                    s1 = new DataColumn("Dashboard: Mailing Report Summary");
                else
                    s1 = new DataColumn("Dashboard: Campaign Report Summary");

                DataColumn s2 = new DataColumn("  ");
                DataColumn s3 = new DataColumn(" ");
                dtExportSummary.Columns.Add(s1);
                dtExportSummary.Columns.Add(s2);
                dtExportSummary.Columns.Add(s3);

                DataRow row1 = dtExportSummary.NewRow();
                if (ddlMailingNames.SelectedItem.ToString() != defaultMailingItem)
                    row1[s1] = "Mailing Name:";
                else
                    row1[s1] = "Campaign Name:";

                if (ddlMailingNames.SelectedItem.ToString() != defaultMailingItem)
                    row1[s2] = ddlMailingNames.SelectedItem.ToString();
                else
                    row1[s2] = ddlCampaignsNames.SelectedItem.ToString();
                row1[s3] = "";
                dtExportSummary.Rows.Add(row1);

                DataRow row2 = dtExportSummary.NewRow();
                row2[s1] = "Subject Line:";
                row2[s2] = lblSubject.ToolTip.ToString();
                row2[s3] = "";
                dtExportSummary.Rows.Add(row2);

                DataRow row3 = dtExportSummary.NewRow();
                row3[s1] = "Results as of :";
                row3[s2] = lblResultsAsOf.Text.ToString();
                row3[s3] = "";
                dtExportSummary.Rows.Add(row3);

                DataRow row4 = dtExportSummary.NewRow();
                row4[s1] = "Send Start Date : ";
                row4[s2] = lblSendStartDate.Text.ToString();
                row4[s3] = "";
                dtExportSummary.Rows.Add(row4);

                DataRow row5 = dtExportSummary.NewRow();
                row5[s1] = "Send Completion Date : ";
                row5[s2] = lblSendCompletionDate.Text.ToString();
                row5[s3] = "";
                dtExportSummary.Rows.Add(row5);

                DataRow row6 = dtExportSummary.NewRow();
                row6[s1] = "List(s) Selected : ";
                row6[s2] = str.ToString();
                row6[s3] = "";
                dtExportSummary.Rows.Add(row6);

                DataRow row7 = dtExportSummary.NewRow();
                row7[s1] = "Overall Stats";
                row7[s2] = "";
                row7[s3] = "";
                dtExportSummary.Rows.Add(row7);

                DataRow row8 = dtExportSummary.NewRow();
                row8[s1] = "Contacts Targeted:";
                row8[s2] = lblContactsTargeted.Text;
                row8[s3] = "";
                dtExportSummary.Rows.Add(row8);

                DataRow row9 = dtExportSummary.NewRow();
                row9[s1] = "Successful Deliveries:";
                row9[s2] = lblSuccessfulDeliveries.Text;
                row9[s3] = "";
                dtExportSummary.Rows.Add(row9);

                DataRow row10 = dtExportSummary.NewRow();
                row10[s1] = "Bounced:";
                row10[s2] = lblBounces.Text;
                row10[s3] = "";
                dtExportSummary.Rows.Add(row10);

                DataRow row11 = dtExportSummary.NewRow();
                row11[s1] = "Unsubscribes:";
                row11[s2] = lblUnsubscribe.Text;
                row11[s3] = "";
                dtExportSummary.Rows.Add(row11);

                DataRow row12 = dtExportSummary.NewRow();
                row12[s1] = "Unique Opens:";
                row12[s2] = lblUniqueopens.Text;
                row12[s3] = "";
                dtExportSummary.Rows.Add(row12);

                DataRow row13 = dtExportSummary.NewRow();
                row13[s1] = "Total Opens:";
                row13[s2] = lblTotalOpens.Text;
                row13[s3] = "";
                dtExportSummary.Rows.Add(row13);

                DataRow row14 = dtExportSummary.NewRow();
                row14[s1] = "Unique Clicks:";
                row14[s2] = lblUniqueClicks.Text;
                row14[s3] = "";
                dtExportSummary.Rows.Add(row14);

                DataRow row15 = dtExportSummary.NewRow();
                row15[s1] = "Total Clicks:";
                row15[s2] = lblTotalClicks.Text;
                row15[s3] = "";
                dtExportSummary.Rows.Add(row15);

                DataRow row16 = dtExportSummary.NewRow();
                row16[s1] = "Forwards:";
                row16[s2] = lblForwrds.Text;
                row16[s3] = "";
                dtExportSummary.Rows.Add(row16);

                ViewState["CampaignExportSummary"] = dtExportSummary;
                #endregion
            }
            else
            {
                lblContactsTargeted.Text = "0";
                lblSuccessfulDeliveries.Text = "0";
                lblTotalOpens.Text = "0";
                lblUnsubscribe.Text = "0";
                lblUniqueopens.Text = "0";
                lblBounces.Text = "0";
                lblUniqueClicks.Text = "0";
                lblForwrds.Text = "0";
                lblTotalClicks.Text = "0";
                lblCampaignTitle.Text = string.Empty;
                lblSubject.Text = string.Empty;
                lblResultsAsOf.Text = string.Empty;
                lblSendStartDate.Text = string.Empty;
                lblSendCompletionDate.Text = string.Empty;
                lblsentDateTime.Text = string.Empty;
                lblRecipients.Text = string.Empty;
                lblSelectedList.Text = string.Empty;
                ShowCampaignCountChart.Series["Series1"].Points.Clear();
            }
        }
Пример #12
0
        /// <summary>
        /// This method will get row(s) from the database using the value of the field specified 
        /// along with the details of the child table.
        /// </summary>
        ///
        /// <param name="pk" type="CampaignMasterPrimaryKey">Primary Key information based on which data is to be fetched.</param>
        ///
        /// <returns>object of class CampaignMaster</returns>
        ///
        /// <remarks>
        ///
        /// <RevisionHistory>
        /// Author				Date			Description
        /// DLGenerator			1/8/2010 11:55:21 AM				Created function
        /// 
        /// </RevisionHistory>
        ///
        /// </remarks>
        ///
        public static CampaignMaster SelectOneWithCampaignJobUsingCampaignMasterID(CampaignMasterPrimaryKey pk, String ConnectionString)
        {
            DatabaseHelper oDatabaseHelper = new DatabaseHelper(ConnectionString);
            bool ExecutionState = false;
            CampaignMaster obj=null;

            // Pass the values of all key parameters to the stored procedure.
            System.Collections.Specialized.NameValueCollection nvc = pk.GetKeysAndValues();
            foreach (string key in nvc.Keys)
            {
                oDatabaseHelper.AddParameter("@" + key,nvc[key] );
            }

            // The parameter '@ErrorCode' will contain the status after execution of the stored procedure.
            oDatabaseHelper.AddParameter("@ErrorCode", -1, System.Data.ParameterDirection.Output);

            IDataReader dr=oDatabaseHelper.ExecuteReader("sp_CampaignMaster_SelectOneWithCampaignJobUsingCampaignMasterID", ref ExecutionState);
            if (dr.Read())
            {
                obj= new CampaignMaster(ConnectionString);
                PopulateObjectFromReader(obj,dr);

                dr.NextResult();

                //Get the child records.
                obj.CampaignJobs=CampaignJob.PopulateObjectsFromReader(dr,ConnectionString);
            }
            dr.Close();
            oDatabaseHelper.Dispose();
            return obj;
        }
Пример #13
0
        /// <summary>
        /// Populates the fields for multiple objects from the columns found in an open reader.
        /// </summary>
        ///
        /// <param name="rdr" type="IDataReader">An object that implements the IDataReader interface</param>
        ///
        /// <returns>Object of CampaignMasters</returns>
        ///
        /// <remarks>
        ///
        /// <RevisionHistory>
        /// Author				Date			Description
        /// DLGenerator			1/8/2010 11:55:21 AM		Created function
        /// 
        /// </RevisionHistory>
        ///
        /// </remarks>
        ///
        internal static CampaignMasters PopulateObjectsFromReaderWithCheckingReader(IDataReader rdr, DatabaseHelper oDatabaseHelper, string ConnectionString)
        {
            CampaignMasters list = new CampaignMasters();

            if (rdr.Read())
            {
                CampaignMaster obj = new CampaignMaster(ConnectionString);
                PopulateObjectFromReader(obj, rdr);
                list.Add(obj);
                while (rdr.Read())
                {
                    obj = new CampaignMaster(ConnectionString);
                    PopulateObjectFromReader(obj, rdr);
                    list.Add(obj);
                }
                oDatabaseHelper.Dispose();
                return list;
            }
            else
            {
                oDatabaseHelper.Dispose();
                return null;
            }
        }
Пример #14
0
        /// <summary>
        /// Populates the fields for multiple objects from the columns found in an open reader.
        /// </summary>
        ///
        /// <param name="rdr" type="IDataReader">An object that implements the IDataReader interface</param>
        ///
        /// <returns>Object of CampaignMasters</returns>
        ///
        /// <remarks>
        ///
        /// <RevisionHistory>
        /// Author				Date			Description
        /// DLGenerator			1/8/2010 11:55:21 AM		Created function
        /// 
        /// </RevisionHistory>
        ///
        /// </remarks>
        ///
        internal static CampaignMasters PopulateObjectsFromReader(IDataReader rdr, string ConnectionString)
        {
            CampaignMasters list = new CampaignMasters();

            while (rdr.Read())
            {
                CampaignMaster obj = new CampaignMaster(ConnectionString);
                PopulateObjectFromReader(obj,rdr);
                list.Add(obj);
            }
            return list;
        }
Пример #15
0
        protected void lbtnAssigncampaigntomailing_Click(object sender, EventArgs e)
        {
            objCampaignMaster = new CampaignMaster(ConnectionString);
            if (RgrdSentCampaigns.MasterTableView.Items.Count > 0)
            {
                //Get contact Selection
                rememberContactSelectionForSent("SgrdaddchkSelectRecs", "lblSCampaignId", RgrdSentCampaigns, "Sgrdaddselectall");
                if (ViewState["SentSelectedContacts"] != null)
                {
                    StringBuilder strbEditContacts = new StringBuilder();
                    //adding selected contatIds to stringbuilder
                    for (int i = 0; i < contactsSelected.Count; i++)
                    {
                        strbEditContacts.Append(contactsSelected[i] + ", ");
                        //Bellow code is used to insert or Update assigned Campaign details in to CampaignMailing Table
                        bool mailingInstStatus = false;
                        CampaignMailingBase objCampaignMailingBase = new CampaignMailingBase(ConnectionString);
                        if (ddlCampaigns.SelectedItem.Text != defaultListItem)
                        {
                            if (objCampaignMailingBase.checkAssignedCampaignsId(Convert.ToInt64(contactsSelected[i]), ConnectionString))
                            {
                                mailingInstStatus = objCampaignMailingBase.UpdateAssignedCampaignId(Convert.ToInt64(contactsSelected[i]), (ddlCampaigns.SelectedItem.Text != defaultListItem) ? Convert.ToInt64(ddlCampaigns.SelectedItem.Value) : 0, ConnectionString);
                            }
                            else if (ddlCampaigns.SelectedItem.Text != defaultListItem)
                            {
                                CampaignMailing objCampaignMailing = new CampaignMailing(ConnectionString);
                                objCampaignMailing.CampaignId = Convert.ToInt64(contactsSelected[i]);
                                objCampaignMailing.CampaignsID = Convert.ToInt64(ddlCampaigns.SelectedItem.Value);//Mailing Id
                                objCampaignMailing.CreatedDate = DateTime.Now;
                                objCampaignMailing.ModifiedDate = DateTime.Now;
                                objCampaignMailing.IsActive = true;
                                mailingInstStatus = objCampaignMailing.Insert();
                            }
                        }
                        if (mailingInstStatus == true)
                        {
                            //get campaign details
                            CampaignMasterPrimaryKey pk = new CampaignMasterPrimaryKey(Convert.ToInt64(contactsSelected[i]));
                            objCampaignMaster = CampaignMaster.SelectOneWithCampaignJobUsingCampaignMasterID(pk, ConnectionString);

                            if (ddlCampaigns.Text != defaultListItem)
                                objCampaignMaster.AssignedCampaignID = Convert.ToInt64(ddlCampaigns.SelectedItem.Value);
                            else
                                objCampaignMaster.AssignedCampaignID = 0;

                            objCampaignMaster.UpdateCampaignDetails();
                        }

                    }
                    if (ddlCampaigns.SelectedItem.Text != defaultListItem)
                    {
                        strbEditContacts.Remove(strbEditContacts.Length - 2, 1);
                        ViewState["SentSelectedContacts"] = null;
                        hdrchkselected.Clear();
                        if (txtSentMailID.Text != string.Empty || txtSentmailSearch.Text != string.Empty)
                        {
                            SearchCriteria("", 0, 0);
                        }
                        else
                        {
                            bindGrid(string.Empty, 0);
                            bindCampNames();
                        }
                        lblMainMsg.ForeColor = System.Drawing.Color.Green;
                        lblMainMsg.Text = "Campaign to selected mailings(with ids: " + strbEditContacts.ToString() + ")assigned successfully!";
                    }
                }
            }
        }
Пример #16
0
        public void updateEditorTab()
        {
            if (hiddenCampaignID.Value != string.Empty)
            {
                CampaignMasterPrimaryKey objCampaignMasterPrimaryKey = new CampaignMasterPrimaryKey(Convert.ToInt64(hiddenCampaignID.Value));
                objCampaignMaster = CampaignMaster.SelectOne(objCampaignMasterPrimaryKey, ConnectionString);
                objCampaignMaster.CampaignId = Convert.ToInt64(hiddenCampaignID.Value);
                objCampaignMaster.ModifiedDate = DateTime.Now;
                if (RadEditor1.Content.ToString().Trim().Length != 0)
                    objCampaignMaster.htmlHasUnsubLink = chkAddress.Checked;
                else
                    objCampaignMaster.htmlHasUnsubLink = false;
                if (textRadEditor.Content.ToString().Trim().Length != 0)
                    objCampaignMaster.txtHasUnsubLink = chkTxtAddress.Checked;
                else
                    objCampaignMaster.txtHasUnsubLink = false;
                DivUnsubtext.InnerHtml = lblunsubinfo.Text + DDLinktext.Items.FindByText(lblunsublinktext.Text).Value;
                if (RadEditor1.Content.Contains(verify) && RadEditor1.Content.ToString().Trim().Length != 0)
                {
                    if (chkTrackReads.Checked)
                        htmlContent = ExtractLinks(RadEditor1.Content.ToString());
                    else
                        htmlContent = RadEditor1.Content.ToString();
                    if (htmlContent.Contains(editorchkValue))
                    {
                        if (htmlContent.Contains(hdUnsubscribeText.Value.ToString().Trim()) && hdUnsubscribeText.Value.ToString() != string.Empty)
                        {
                            htmlContent = htmlContent.Replace(hdUnsubscribeText.Value.ToString(), lblunsubinfo.Text);
                        }
                        if (htmlContent.Contains(hdUnsubscribeLinkText.Value.ToString().Trim()) && hdUnsubscribeLinkText.Value.ToString() != string.Empty)
                        {
                            htmlContent = htmlContent.Replace(hdUnsubscribeLinkText.Value.ToString(), lblunsublinktext.Text);
                        }
                        objCampaignMaster.HTMLContent = htmlContent;
                    }
                    else
                    {
                        htmlContent = htmlContent + "<br />" + DivUnsubtext.InnerHtml;
                        objCampaignMaster.HTMLContent = htmlContent;
                    }


                    if (htmlContent.Contains("Our mailing address is:"))
                    {
                        if (htmlContent.Contains(hdUserAddress.Value.ToString().Trim()) && hdUserAddress.Value.ToString() != string.Empty)
                        {
                            htmlContent = htmlContent.Replace(hdUserAddress.Value.ToString(), hdUserAddress.Value.ToString());
                        }
                        objCampaignMaster.HTMLContent = htmlContent;
                    }
                    else
                        objCampaignMaster.HTMLContent = htmlContent;
                    Session["Htmlcontent"] = htmlContent;
                }
                else if (RadEditor1.Content.ToString().Trim().Length != 0)
                {

                    if (RadEditor1.Content.Contains(editorchkValue))
                    {
                        if (RadEditor1.Content.Contains(hdUnsubscribeText.Value.ToString().Trim()) && hdUnsubscribeText.Value.ToString() != string.Empty)
                        {
                            RadEditor1.Content = RadEditor1.Content.Replace(hdUnsubscribeText.Value.ToString(), lblunsubinfo.Text);
                        }
                        if (RadEditor1.Content.Contains(hdUnsubscribeLinkText.Value.ToString().Trim()) && hdUnsubscribeLinkText.Value.ToString() != string.Empty)
                        {
                            RadEditor1.Content = RadEditor1.Content.Replace(hdUnsubscribeLinkText.Value.ToString(), lblunsublinktext.Text);
                        }
                        objCampaignMaster.HTMLContent = RadEditor1.Content;
                    }
                    else
                    {
                        RadEditor1.Content = RadEditor1.Content + "<br />" + DivUnsubtext.InnerHtml;
                        objCampaignMaster.HTMLContent = RadEditor1.Content;
                    }
                    if (RadEditor1.Content.Contains("Our mailing address is:"))
                    {
                        if (RadEditor1.Content.Contains(hdUserAddress.Value.ToString().Trim()) && hdUserAddress.Value.ToString() != string.Empty)
                        {
                            RadEditor1.Content = RadEditor1.Content.Replace(hdUserAddress.Value.ToString(), hdUserAddress.Value.ToString());
                        }
                        objCampaignMaster.HTMLContent = RadEditor1.Content;
                    }
                    else
                        objCampaignMaster.HTMLContent = RadEditor1.Content;
                    Session["Htmlcontent"] = RadEditor1.Content;
                }
                else
                    objCampaignMaster.HTMLContent = string.Empty;

                //Writter By swaroop 12Nov2012
                string unsubText = DivUnsubtext.InnerText;
                unsubText = unsubText.Replace("<a href=\"[!RPLINK:GLOBALUNSUBSCRIBE!]\">", "[!RPLINK:GLOBALUNSUBSCRIBE!]");
                unsubText = unsubText.Replace("</a>", string.Empty);
                unsubText = unsubText.Replace(DDLinktext.SelectedItem.ToString(), string.Empty);

                if (textRadEditor.Content.Contains(verify) && textRadEditor.Content.ToString().Trim().Length != 0)
                {
                    textContent = ExtractLinks(textRadEditor.Content.ToString());
                    if (textContent.Contains(editorchkValue))
                    {
                        if (textContent.Contains(hdUnsubscribeText.Value.ToString().Trim()) && hdUnsubscribeText.Value.ToString() != string.Empty)
                        {
                            textContent = textRadEditor.Content.Replace(hdUnsubscribeText.Value.ToString(), lblunsubinfo.Text);
                        }
                        if (textContent.Contains(hdUnsubscribeLinkText.Value.ToString().Trim()) && hdUnsubscribeLinkText.Value.ToString() != string.Empty)
                        {
                            textContent = textRadEditor.Content.Replace(hdUnsubscribeLinkText.Value.ToString(), lblunsublinktext.Text);
                        }
                        objCampaignMaster.TextContent = textContent;
                    }
                    else
                    {
                        textContent = textContent + "<br />" + unsubText + "<br />" + hdUserAddress.Value;
                        objCampaignMaster.TextContent = textContent;
                    }

                    Session["Textcontent"] = textContent;
                }
                else if (textRadEditor.Content.ToString().Trim().Length != 0)
                {
                    objCampaignMaster.TextContent = textRadEditor.Content;
                    if (textRadEditor.Content.Contains(editorchkValue))
                    {
                        if (textRadEditor.Content.Contains(hdUnsubscribeText.Value.ToString().Trim()) && hdUnsubscribeText.Value.ToString() != string.Empty)
                        {
                            textRadEditor.Content = textRadEditor.Content.Replace(hdUnsubscribeText.Value.ToString(), lblunsubinfo.Text);
                        }
                        if (textRadEditor.Content.Contains(hdUnsubscribeLinkText.Value.ToString().Trim()) && hdUnsubscribeLinkText.Value.ToString() != string.Empty)
                        {
                            textRadEditor.Content = textRadEditor.Content.Replace(hdUnsubscribeLinkText.Value.ToString(), lblunsublinktext.Text);
                        }
                        objCampaignMaster.TextContent = textRadEditor.Content;
                    }
                    else
                    {

                        textRadEditor.Content = textRadEditor.Content + "<br />" + unsubText;
                        objCampaignMaster.TextContent = textRadEditor.Content;
                    }
                    if (textRadEditor.Content.Contains("Our mailing address is:"))
                    {
                        if (textRadEditor.Content.Contains(hdUserAddress.Value.ToString().Trim()) && hdUserAddress.Value.ToString() != string.Empty)
                        {
                            textRadEditor.Content = textRadEditor.Content.Replace(hdUserAddress.Value.ToString(), hdUserAddress.Value.ToString());
                        }
                        objCampaignMaster.TextContent = textRadEditor.Content;
                    }
                    else
                        objCampaignMaster.TextContent = textRadEditor.Content;

                    Session["Textcontent"] = textRadEditor.Content;
                }
                else
                    objCampaignMaster.TextContent = string.Empty;
                if (ddlTemplate.SelectedIndex != 0)
                {
                    objCampaignMaster.TemplateId = (ddlTemplate.SelectedItem.Value != defaultListItem) ? Convert.ToInt64(ddlTemplate.SelectedItem.Value) : 0;
                }
                else
                {
                    objCampaignMaster.TemplateId = 0;
                }
                objCampaignMaster.UpdateEditorTabDetails();
                hdCampEditorTab2.Value = "0";
            }
        }
Пример #17
0
        public void updateDeliveryTab()
        {
            try
            {
                if (hiddenCampaignID.Value != string.Empty)
                {

                    if (txtCampaignName.Text == string.Empty)
                    {
                        ScriptManager.RegisterStartupScript(Page, Page.GetType(), "Success", "alert('Please enter Mailing name in Mailing Details Tab.')", true);
                    }
                    else if (txtSubject.Text == string.Empty)
                    {
                        ScriptManager.RegisterStartupScript(Page, Page.GetType(), "Success", "alert('Please enter subject from Mailing Details tab.')", true);
                    }
                    else
                    {
                        //checkCampaignStatus();
                        sbListIds = new StringBuilder();
                        for (int i = 0; i < lstBoxListNames.Items.Count; i++)
                        {
                            sbListIds.Append(string.Format("{0},", lstBoxListNames.Items[i].Value));
                        }
                        if (sbListIds.ToString().EndsWith(","))
                            sbListIds.Remove(sbListIds.Length - 1, 1);
                        StringBuilder sbSuppressListIds = new StringBuilder();
                        sbSuppressListIds = new StringBuilder();
                        for (int i = 0; i < lstSuppressList.Items.Count; i++)
                        {
                            sbSuppressListIds.Append(string.Format("{0},", lstSuppressList.Items[i].Value));
                        }
                        if (sbSuppressListIds.ToString().EndsWith(","))
                            sbSuppressListIds.Remove(sbSuppressListIds.Length - 1, 1);
                        CampaignMasterPrimaryKey objCampaignMasterPrimaryKey = new CampaignMasterPrimaryKey(Convert.ToInt64(hiddenCampaignID.Value));
                        objCampaignMaster = CampaignMaster.SelectOne(objCampaignMasterPrimaryKey, ConnectionString);
                        objCampaignMaster.CampaignId = Convert.ToInt64(hiddenCampaignID.Value);
                        objCampaignMaster.ModifiedDate = DateTime.Now;
                        objCampaignMaster.SelectCondition = sbListIds.ToString();
                        if (HDSuppressDomain.Value != string.Empty)
                            objCampaignMaster.SuppressDomain = HDSuppressDomain.Value;
                        else
                        {
                            btnSuppress_Click(btnSuppress, EventArgs.Empty);
                            objCampaignMaster.SuppressDomain = HDSuppressDomain.Value;
                        }
                        objCampaignMaster.UpdateDelvertyTab(sbSuppressListIds.ToString());
                        statusType = "Inserted";
                        hdCampDeliveryTab5.Value = "0";
                        //Bellow code written by Swaroop July26-12
                        //Bellow lines are used to Insert Recs into DomainSupressTable
                        int resflag = 0;
                        //if (ViewState["dtDomains"] != null && hiddenCampaignID.Value != string.Empty)
                        if (lstSuppressedDomain.Items.Count != 0 && hiddenCampaignID.Value != string.Empty)
                        {
                            //Create a DataTable for as a parameter to sp
                            DataTable dtDomains = new DataTable();
                            dtDomains.Columns.Add("DomainName", typeof(string));
                            foreach (ListItem item in lstSuppressedDomain.Items)
                            {
                                dtDomains.Rows.Add(item.Text);
                            }
                            objListContactMaster = new ListContactMaster(ConnectionString);
                            resflag = objListContactMaster.InsertInToDomainSuppress_Bulk(Convert.ToInt32(hiddenCampaignID.Value), sbListIds.ToString(), dtDomains);// (DataTable)ViewState["dtDomains"]); //CampaignMasterIDforUddate, id, ListOfContactIds.ToString(), SuppressDomain);
                        }
                        else
                        {
                            //Delete Previous Mailing Recs in DomainSupress Tb with this MailingId(CampaId)
                            DomineSupress objDomineSupress = DomineSupres.SelectByField("CampaignId", Convert.ToInt64(hiddenCampaignID.Value), ConnectionString);
                            if (objDomineSupress.Count > 0)
                            {
                                bool delStatus = DomineSupres.DeleteByField("CampaignId", Convert.ToInt64(hiddenCampaignID.Value), ConnectionString);
                            }

                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #18
0
        public void campaigns_bindcontent(string Htmlcontent)
        {
            try
            {
                AleartMsgPath = ConfigurationManager.AppSettings["AleartMsg"].ToString();
                Cpk = new CampaignMasterPrimaryKey(campaignID);
                campMaster = CampaignMaster.SelectOne(Cpk, ConnectionString);
                lblCampaignName.Text = campMaster.CampaignName;
                lblFromAddress.Text = campMaster.FromAddress;
                lblFromName.Text = campMaster.FromName;
                lblSubject.Text = campMaster.Subject;
                trackReads = campMaster.TrackReads.ToString();

                if (Request.QueryString["Ptype"] == "GridCampaign")
                {
                    campaignContent = campMaster.HTMLContent;
                }
                else
                {
                    campaignContent = Htmlcontent;
                }
                if (!campaignContent.Contains("[!RPLINK:GLOBALUNSUBSCRIBE!]"))
                {
                    campaignContent = campaignContent + "<br />If you no longer wish to receive these emails, simply click on the following link:<a href='[!RPLINK:GLOBALUNSUBSCRIBE!]'>Unsubscribe</a>";
                }

                chkShowCamStuff.Visible = true;

                #region handle standared links

                if (campaignContent.ToLower().Contains("listunsubscribe"))
                {
                    campaignContent = campaignContent.Replace("[!RPLINK:LISTUNSUBSCRIBE!]", "javascript:onClick=alert('UnSubscribe links will be activated after your email is sent.')");
                }
                if (campaignContent.ToLower().Contains("globalunsubscribe"))
                {
                    campaignContent = campaignContent.Replace("[!RPLINK:GLOBALUNSUBSCRIBE!]", "javascript:onClick=alert('Global UnSubscribe link will be activated after your email is sent.')");
                }
                if (campaignContent.ToLower().Contains("forwardtofriend"))
                {
                    campaignContent = campaignContent.Replace("[!RPLINK:FORWARDTOFRIEND!]", "javascript:onClick=alert('Forward link will be activated after your email is sent.')");
                }
                if (campaignContent.ToLower().Contains("mirrorweblink"))
                {
                    campaignContent = campaignContent.Replace("[!RPLINK:MIRRORWEBLINK!]", "javascript:onClick=alert('Hosted version link will be activated after your email is sent.')");
                }
                if (campaignContent.ToLower().Contains("amm"))
                {
                    campaignContent = campaignContent.Replace("[!RPLINK:AMM!]", "javascript:onClick=alert('AMM version link Can not be activated in Preview Or Test mode.')");
                }
                if (campaignContent.ToLower().Contains("amm2"))
                {
                    campaignContent = campaignContent.Replace("[!RPLINK:AMM2!]", "javascript:onClick=alert('AMM2 version link Can not be activated in Preview Or Test mode.')");
                }
                #endregion

                //Add click link to the content.
                #region this logic will add click link to the content

                if (campaignContent.Contains("!RPLINK"))
                {
                    string[] startDelimiter = new string[] { "[!RPLINK:" };
                    string[] endDelimiter = new string[] { "!]" };
                    string[] splittedContent = campaignContent.Split(startDelimiter, StringSplitOptions.None);
                    string LinkURL = string.Empty;
                    for (int i = 1; i < splittedContent.Length; i++)
                    {
                        string linkID = splittedContent[i].Split(endDelimiter, StringSplitOptions.None)[0];
                        //get linkDetails using linkID.
                        if (!string.IsNullOrEmpty(linkID))
                        {
                            LinkDetailPrimaryKey objLinkDetail = new LinkDetailPrimaryKey(Convert.ToInt64(linkID));
                            LinkDetail linkData = LinkDetail.SelectOne(objLinkDetail, ConnectionString);
                            LinkURL = linkData.LinkURL;
                            if (linkData != null)
                            {
                                string replaceToken = startDelimiter[0] + linkID + endDelimiter[0];
                                if (campaignContent.ToLower().Contains(linkID))
                                {
                                    campaignContent = campaignContent.Replace(replaceToken, LinkURL);
                                }
                            }
                        }
                    }
                }
                #endregion
                contentdiv.InnerHtml = campaignContent;
                ViewState["Content"] = campaignContent;
            }
            catch (Exception ex)
            {
                lbltitle.Text = "Invalid Campaign";
            }
        }
Пример #19
0
        public void updateCampaignDetailsTab()
        {
            try
            {
                CampaignMasterPrimaryKey objCampaignMasterPrimaryKey = new CampaignMasterPrimaryKey(Convert.ToInt64(hiddenCampaignID.Value));
                objCampaignMaster = CampaignMaster.SelectOne(objCampaignMasterPrimaryKey, ConnectionString);
                DataTable campMaster = CampaignMasterBase.SelectByName("CampaignName", txtCampaignName.Text.ToString(), ConnectionString);
                if (campMaster.Rows.Count == 0)
                {
                    objCampaignMaster.CampaignName = txtCampaignName.Text;
                }
                else
                {
                    txtCampaignName.Text = objCampaignMaster.CampaignName;
                }
                objCampaignMaster.FromAddress = ddlFromAddress.SelectedItem.Text;
                objCampaignMaster.FromName = txtFromName.Text.ToString().Trim();
                objCampaignMaster.CampaignDescription = txtCampaignDescription.Text;
                objCampaignMaster.ReplytoAddress = txtReplytoAddress.Text;
                objCampaignMaster.ReplaytoName = txtReplaytoName.Text;
                objCampaignMaster.Subject = txtSubject.Text;
                objCampaignMaster.TrackReads = chkTrackReads.Checked;
                if (RadEditor1.Content.ToString().Trim().Length != 0)
                    objCampaignMaster.htmlHasUnsubLink = chkAddress.Checked;
                else
                    objCampaignMaster.htmlHasUnsubLink = false;
                if (textRadEditor.Content.ToString().Trim().Length != 0)
                    objCampaignMaster.txtHasUnsubLink = chkTxtAddress.Checked;
                else
                    objCampaignMaster.txtHasUnsubLink = false;


                objCampaignMaster.ModifiedDate = DateTime.Now;
                if (txtUnsubscribe.Text != string.Empty)
                {
                    hdUnsubscribeText.Value = lblunsubinfo.Text;
                    hdUnsubscribeLinkText.Value = lblunsublinktext.Text;
                    objCampaignMaster.UnsubscribeText = txtUnsubscribe.Text;
                    objCampaignMaster.UnsubscribeLinkText = DDLinktext.SelectedItem.Text;
                    lblunsubinfo.Text = txtUnsubscribe.Text;
                    lblunsublinktext.Text = DDLinktext.SelectedItem.Text;
                    DivUnsubtext.InnerHtml = lblunsubinfo.Text + " \n" + lblunsublinktext.Text;
                }
                //Bellow code is used to insert or Update assigned Campaign details in to CampaignMailing Table
                bool mailingInstStatus = false;
                if (hdCampMailingFlag.Value == "1")
                {
                    CampaignMailingBase objCampaignMailingBase = new CampaignMailingBase(ConnectionString);
                    if (AssCampIdDb.Value.ToString().Length != 0 && AssCampIdDb.Value != null)
                    {
                        if (objCampaignMailingBase.checkAssignedCampaignId(Convert.ToInt64(hiddenCampaignID.Value), Convert.ToInt64(AssCampIdDb.Value.ToString()), ConnectionString))
                        {
                            mailingInstStatus = objCampaignMailingBase.UpdateAssignedCampaignId(Convert.ToInt64(hiddenCampaignID.Value), (ddlCampsNames.SelectedItem.Text != defaultListItem) ? Convert.ToInt64(ddlCampsNames.SelectedItem.Value) : 0, ConnectionString);
                        }
                        else if (ddlCampsNames.SelectedItem.Text != defaultListItem)
                        {
                            CampaignMailing objCampaignMailing = new CampaignMailing(ConnectionString);
                            objCampaignMailing.CampaignId = Convert.ToInt64(hiddenCampaignID.Value);
                            objCampaignMailing.CampaignsID = Convert.ToInt64(ddlCampsNames.SelectedItem.Value);//Mailing Id
                            objCampaignMailing.CreatedDate = DateTime.Now;
                            objCampaignMailing.ModifiedDate = DateTime.Now;
                            objCampaignMailing.IsActive = true;
                            mailingInstStatus = objCampaignMailing.Insert();
                        }
                    }
                }

                if (hdCampMailingFlag.Value == "1" && mailingInstStatus == true)
                {
                    if (ddlCampsNames.Text != defaultListItem)
                        objCampaignMaster.AssignedCampaignID = Convert.ToInt64(ddlCampsNames.SelectedItem.Value);
                    else
                        objCampaignMaster.AssignedCampaignID = 0;
                    objCampaignMaster.UpdateCampaignDetails();
                }
                else
                {
                    objCampaignMaster.UpdateCampaignDetails();
                }

                checkCampaignStatus();
                hdCampDetailsTab1.Value = "0";
                lblCampName.Text = txtCampaignName.Text.Trim();
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
Пример #20
0
 protected void bindMailingNames()
 {
     try
     {
         CampaignJob objCampaignJob = new CampaignJob(ConnectionString);
         DataTable dtCampaignname = objCampaignJob.getAllCampaignsWithStatus(ConnectionString, "CreatedDate", "DESC", 1);
         ddlMailingNames.DataSource = dtCampaignname;
         ddlMailingNames.DataTextField = CampaignMasterFields.CampaignName;
         ddlMailingNames.DataValueField = CampaignMasterFields.CampaignId;
         ddlMailingNames.DataBind();
         //add default list item as first item
         ddlMailingNames.Items.Insert(0, defaultListItem);
         if (Session["MailingID"] != null)
         {
             CampaignMasterPrimaryKey pk = new CampaignMasterPrimaryKey(Convert.ToInt64(Session["MailingID"]));
             objCampaignMaster = CampaignMaster.SelectOneWithCampaignJobUsingCampaignMasterID(pk, ConnectionString);
             if (ddlMailingNames.Items.FindByValue(objCampaignMaster.CampaignId.ToString()) != null)
             {
                 ddlMailingNames.Items.FindByValue(objCampaignMaster.CampaignId.ToString()).Selected = true;
             }
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Пример #21
0
 public XmlDocument AddMailing(string UserID, string Password, string MailingName, string FromAdd, string FromName, string ReplyEmailAdd, string Subject, int TempId, string ListIds, DateTime LaunchDateTime)
 {
     XmlDocument doc = new System.Xml.XmlDocument();
     StringBuilder str = new StringBuilder();
     str.Append("<MailingInfo>");
     string ConnectionString = GetConnectionString(UserID, Password);
     if (ConnectionString.Trim().Length != 0)
     {
         if (IsValidEmail(FromAdd) && IsValidEmail(ReplyEmailAdd) && MailingName.Trim().Length != 0 && FromAdd.Trim().Length != 0 && FromName.Trim().Length != 0 && Subject.Trim().Length != 0 && ReplyEmailAdd.Trim().Length != 0 && TempId != 0 && ListIds.Trim().Length != 0 && LaunchDateTime != null)
         {
             CampaignMasters camp = CampaignMaster.SelectByField("CampaignName", MailingName, ConnectionString);
             if (camp.Count > 0)
             {
                 str.Append("<MailingId>" + camp[0].CampaignId.ToString() + "</MailingId>");
                 str.Append("<Message>Mailing Name Allredy Exist</Message>");
             }
             else
             {
                 TemplateMasterPrimaryKey pk = new TemplateMasterPrimaryKey(TempId);
                 TemplateMaster tempMaster = TemplateMaster.SelectOne(pk, ConnectionString);
                 if (tempMaster != null)
                 {
                     CampaignMaster objCampaignMaster = new CampaignMaster(ConnectionString);
                     objCampaignMaster.CampaignName = MailingName;
                     objCampaignMaster.CampaignDescription = "";
                     objCampaignMaster.FromAddress = FromAdd;
                     objCampaignMaster.FromName = FromName;
                     objCampaignMaster.ReplytoAddress = ReplyEmailAdd;
                     objCampaignMaster.ReplaytoName = "";
                     objCampaignMaster.Subject = Subject;
                     objCampaignMaster.TrackReads = true;//"1";
                     objCampaignMaster.SelectCondition = ListIds;
                     objCampaignMaster.TemplateId = TempId;
                     objCampaignMaster.ModifiedDate = DateTime.Now;
                     objCampaignMaster.CreatedDate = DateTime.Now;
                     objCampaignMaster.HTMLContent = tempMaster.HTMLContent;
                     objCampaignMaster.TextContent = "";
                     objCampaignMaster.SuppressDomain = "";
                     objCampaignMaster.UnsubscribeText = "If you no longer wish to receive these emails, simply click on the following link:";
                     objCampaignMaster.UnsubscribeLinkText = "Unsubscribe";
                     objCampaignMaster.SuppressSelection = "";
                     objCampaignMaster.htmlHasUnsubLink = true;
                     objCampaignMaster.txtHasUnsubLink = true;
                     objCampaignMaster.AssignedCampaignID = 0;
                     Int64 campaignMasterID = objCampaignMaster.insertCampainMaster(objCampaignMaster);
                     if (campaignMasterID > 0)
                     {
                         CampaignJob objCampaignJob = new CampaignJob(ConnectionString);
                         objCampaignJob.CampaignMasterID = campaignMasterID;
                         objCampaignJob.CreatedDatetime = DateTime.Now;
                         objCampaignJob.ScheduledDatetime = LaunchDateTime.AddMinutes(2);// DateTime.Now.AddMinutes(2);//Convert.ToDateTime(LaunchDateTime);
                         objCampaignJob.SendType = "IMMEDIATE";
                         objCampaignJob.Status = 1;
                         objCampaignJob.Insert();
                     }
                     str.Append("<MailingId>" + campaignMasterID.ToString() + "</MailingId>");
                     str.Append("<Message>Mailing Inserted Succefully</Message>");
                 }
                 else
                 {
                     str.Append("<Error>Enter Valid TemplateId</Error>");
                 }
             }
         }
         else
         {
             str.Append("<Error>Please Enter Valid Email Addresses and Ensure All The Fields are not empty</Error>");
         }
     }
     else
         str.Append("<Message>Please Enter Valid UserName and Password</Message>");
     str.Append("</MailingInfo>");
     doc.LoadXml(str.ToString());
     return doc;
 }