/// <summary> /// Saves Campaign and navigate to Home Page /// </summary> private void SaveData() { Campaign objCampaign = new Campaign(); CloneInfo objCloneInfo = new CloneInfo(); long parentCampaignID = Convert.ToInt64(hdnCampaignId.Value); objCampaign.CampaignID = 0; objCampaign.Description = txtDescription.Text.Trim(); objCampaign.ShortDescription = txtShortDesc.Text.Trim(); //objCampaign.FundRaiserDataTracking = chkFundRaiser.Checked; //objCampaign.OnsiteTransfer = chkOnSiteCallTransfer.Checked; //objCampaign.EnableAgentTraining = chkTraining.Checked; //objCampaign.RecordLevelCallHistory = chkRecordLevel.Checked; objCampaign.EnableAgentTraining = true; objCampaign.RecordLevelCallHistory = false; objCampaign.AllowDuplicatePhones = chkDuplicatePh.Checked; objCampaign.Allow7DigitNums = chkSevenDigitNums.Checked; objCampaign.Allow10DigitNums = chkTenDigitNums.Checked; if (rdoIgnore.Checked) { objCampaign.DuplicateRule = "I"; } else { objCampaign.DuplicateRule = "R"; } objCampaign.OutboundCallerID = txtOutboundCallerID.Text.Trim(); objCampaign.StatusID = Convert.ToInt64(ConfigurationManager.AppSettings["DefaultStatusID"]); objCampaign.IsDeleted = false; string RecordingsPath = @"C:\recordings\"; string ismultiboxconfig = ConfigurationManager.AppSettings["IsMultiBoxConfig"]; string strPath = objCampaign.ShortDescription; /*if (ismultiboxconfig == "yes" || ismultiboxconfig == "Yes" || ismultiboxconfig == "YES") * { * RecordingsPath = ConfigurationManager.AppSettings["RecordingsPathMulti"]; * strPath = strPath.Trim(); * strPath = RecordingsPath + strPath; * Directory.CreateDirectory(Server.MapPath(strPath)); * } * else * {*/ RecordingsPath = ConfigurationManager.AppSettings["RecordingsPath"]; strPath = strPath.Trim(); strPath = RecordingsPath + strPath; Directory.CreateDirectory(strPath); //} objCloneInfo.RecordingsPath = strPath.EndsWith(@"\") == true?strPath.Trim() : strPath.Trim() + @"\"; objCloneInfo.ParentCampaignId = parentCampaignID; objCloneInfo.ParentShortDesc = lblCampaign.Text; objCloneInfo.IncludeData = chkData.Checked; objCloneInfo.IncludeResultCodes = chkResultcodes.Checked; objCloneInfo.IncludeOptions = chkOptions.Checked; objCloneInfo.IncludeQueries = chkQueries.Checked; objCloneInfo.IncludeFields = chkFields.Checked; objCloneInfo.IncludeScripts = chkScripts.Checked; if (RdoClone.Checked) { //----------------------------------------------------- // Clone all data is checked. //----------------------------------------------------- objCloneInfo.IncludeData = true; objCloneInfo.IncludeResultCodes = true; objCloneInfo.IncludeOptions = true; objCloneInfo.IncludeQueries = true; objCloneInfo.IncludeFields = true; objCloneInfo.IncludeScripts = true; objCloneInfo.FullCopy = true; } else { objCloneInfo.IncludeData = chkData.Checked; objCloneInfo.IncludeResultCodes = chkResultcodes.Checked; objCloneInfo.IncludeOptions = chkOptions.Checked; objCloneInfo.IncludeQueries = chkQueries.Checked; objCloneInfo.IncludeFields = chkFields.Checked; objCloneInfo.IncludeScripts = chkScripts.Checked; objCloneInfo.FullCopy = false; } CampaignService objCampaignService = new CampaignService(); XmlDocument xDocCampaign = new XmlDocument(); XmlDocument xDocCloneInfo = new XmlDocument(); try { xDocCampaign.LoadXml(Serialize.SerializeObject(objCampaign, "Campaign")); xDocCloneInfo.LoadXml(Serialize.SerializeObject(objCloneInfo, "CloneInfo")); objCampaignService.Timeout = System.Threading.Timeout.Infinite; objCampaign = (Campaign)Serialize.DeserializeObject(objCampaignService.CampaignClone(xDocCampaign, xDocCloneInfo), "Campaign"); Session["Campaign"] = objCampaign; Response.Redirect("~/campaign/Home.aspx?CampaignID=" + objCampaign.CampaignID); } catch (Exception ex) { if (ex.Message.IndexOf("CampaignDuplicateEntityException") >= 0) { PageMessage = "CloneCampaign.aspx SaveData Calling objCampaignService.CampaignClone threw error: " + ex.Message; } else { PageMessage = ex.Message; } ActivityLogger.WriteException(ex, "Admin"); } }