//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(); }
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(); } }
//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; } }
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"); } }
//[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"); } }
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; }
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; }
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; }
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(); } }
/// <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; }
/// <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; } }
/// <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; }
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!"; } } } }
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"; } }
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; } }
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"; } }
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; } }
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; } }
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; }