protected void btnStep3Complete_Click(object sender, EventArgs e) { try { //Fetch Template Data FacebookBizProcess fbBiz = new FacebookBizProcess(); string createdHTML = fbBiz.GetProductHTML(SessionData.Product.DID); //REVISIT hdnTrmplateID.Value = templateID; //Save Widgets info and Cust Tab name, then move to FB tab //Custom Tab Name if (!txtCustomTabNamePromo2.Text.Trim().Equals(string.Empty)) { SessionData.Config.SCustomtTabName = txtCustomTabNamePromo2.Text.Trim(); } //Widgets if (chkShareButton.Checked) { SessionData.Product.ShareWidgetAdded = "Y"; } else { SessionData.Product.ShareWidgetAdded = "N"; } if (chkInquiry.Checked) { SessionData.Product.InquiryWidgetAdded = "Y"; } else { SessionData.Product.InquiryWidgetAdded = "N"; } if (chkRecc.Checked) { SessionData.Product.ReccWidgetAdded = "Y"; } else { SessionData.Product.ReccWidgetAdded = "N"; } if (chkComment.Checked) { SessionData.Product.CommentsWidgetAdded = "Y"; } else { SessionData.Product.CommentsWidgetAdded = "N"; } if (chkLike.Checked) { SessionData.Product.LikeWidgetAdded = "Y"; } else { SessionData.Product.LikeWidgetAdded = "N"; } if (chkTweeter.Checked) { SessionData.Product.TwitterWidgetAdded = "Y"; } else { SessionData.Product.TwitterWidgetAdded = "N"; } oVidShareData = fbBiz.GetVideoShareData(SessionData.Config.DID); //Like Gateway if (chkLikeGateway.Checked) { SessionData.Product.LikeGatewayAdded = "Y"; //Save LikeGateway Image if (filePromo2LikeGateWayImage.HasFile) { if (filePromo2LikeGateWayImage.PostedFile.ContentType == "image/jpeg" || filePromo2LikeGateWayImage.PostedFile.ContentType == "image/png" || filePromo2LikeGateWayImage.PostedFile.ContentType == "image/jpg" || filePromo2LikeGateWayImage.PostedFile.ContentType == "image/pjpeg") { if (filePromo2LikeGateWayImage.FileBytes.Length < 1048576) { string filenamePromo2Logo = Path.GetFileName(filePromo2LikeGateWayImage.FileName); Bitmap sourceImage = new Bitmap(filePromo2LikeGateWayImage.PostedFile.InputStream); SaveImageFile(sourceImage, Server.MapPath(pathToCreate + "/LikeGateway" + filenamePromo2Logo), 111, 74); hdnFooterLogo.Value = filenamePromo2Logo; SessionData.Product.ProductLogo = filenamePromo2Logo; } else { spnErrorfileLikeGateWayImage.InnerHtml = "File size should not be greater than 1 MB"; spnErrorfileLikeGateWayImage.Style.Add("color", "Red"); errCount++; } } else { spnErrorfileLikeGateWayImage.InnerHtml = "Upload status: Only JPEG, PNG files are accepted!"; spnErrorfileLikeGateWayImage.Style.Add("color", "Red"); errCount++; } } } if (fbBiz.IsAppCreationAllowed(SessionData.Customer.CustomerID)) { FaceBook ofacebook = new FaceBook(); AppUser oAppUser = new AppUser(); if ((Regex.IsMatch(txtVideoURL.Text.Trim(), @"(http|https)://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?")) && (txtVideoURL.Text.Trim().Contains("youtube"))) { iframecontent = ofacebook.GetEmbedURL(txtVideoURL.Text.Trim(), oAppUser); iframecontentOld = ofacebook.GetEmbedURL(oVidShareData.SVideoShareURL, oAppUser); string fixedURL = FixVideoURL(iframecontent); string fixedUrlOld = FixVideoURL(iframecontentOld); //Now update VideoShareData fbBiz.UpdateVideoShareData(SessionData.Config.DID, txtVideoURL.Text.Trim(), fixedURL, txtDescription.Text.Trim()); if (!iframecontent.Equals(string.Empty)) { string[] newEmbedURL = iframecontent.Split(' '); string finalURL = newEmbedURL[3].Remove(0, 4); string[] oldEmbedURL = iframecontentOld.Split(' '); string oldfinalURL = oldEmbedURL[3].Remove(0, 4); if (!txtVideoURL.Text.Contains("autoplay")) { if (!txtVideoURL.Text.Contains("?")) { if (!(string.IsNullOrEmpty(txtBannerURL.Text.Trim()))) //New image was chosen, then do normal replace, else, bring new image //SessionData.Product.SHeaderBannerURL != txtBannerURL.Text { HeaderBannerURLReplaced = createdHTML.Replace(SessionData.Product.SHeaderBannerURL, txtBannerURL.Text); } else { HeaderBannerURLReplaced = createdHTML.Replace(" <a id=\"aHeadBanner\" href=\"\" target=\"_blank\">", "<a id=\"aHeadBanner\" href=" + SessionData.Product.SHeaderBannerURL + " target=\"_blank\" >"); // Replace Banner URL } if (hdnFileBannerHasFile.Value.Equals(HASFILE)) //New image was chosen, then do normal replace, else, bring new image { HeaderBannerReplaced = HeaderBannerURLReplaced.Replace(SessionData.Product.SHeaderBannerImg, hdnBanner.Value); } else { HeaderBannerReplaced = HeaderBannerURLReplaced.Replace("<img id=\"imgBanner\" alt=\"\" src=\"Images/" + SessionData.Product.DID + "/" + SessionData.Product.SHeaderBannerImg + "\" style=\"width: 500px; height: 100px;\" />", "<img id=\"imgBanner\" alt=\"\" src=\"Images/" + SessionData.Product.DID + "/" + "Banner" + hdnBanner.Value + "\" style=\"width: 500px; height: 100px;\" />"); //check if canvas settings have changed, if so, need to resize existing image } string ParamAdded = HeaderBannerReplaced.Replace(oldfinalURL, finalURL); string ObjectAdded = ParamAdded.Replace(fixedUrlOld, fixedURL); string DescriptionAdded = ObjectAdded.Replace(oVidShareData.SVideoShareDesc, txtDescription.Text.Trim().Replace("'", "''")); using (CanvasBizProcess canvasBiz = new CanvasBizProcess()) { canvasBiz.UpdatePreviewHTML(DescriptionAdded, SessionData.Customer.CustomerID, SessionData.Product.DID); } varCount++; } else { if (!(string.IsNullOrEmpty(txtBannerURL.Text.Trim()))) //New image was chosen, then do normal replace, else, bring new image //SessionData.Product.SHeaderBannerURL != txtBannerURL.Text { HeaderBannerURLReplaced = createdHTML.Replace(SessionData.Product.SHeaderBannerURL, txtBannerURL.Text); } else { HeaderBannerURLReplaced = createdHTML.Replace(" <a id=\"aHeadBanner\" href=\"\" target=\"_blank\">", "<a id=\"aHeadBanner\" href=" + SessionData.Product.SHeaderBannerURL + " target=\"_blank\" >"); // Replace Banner URL } if (hdnFileBannerHasFile.Value.Equals(HASFILE)) //New image was chosen, then do normal replace, else, bring new image { HeaderBannerReplaced = HeaderBannerURLReplaced.Replace(SessionData.Product.SHeaderBannerImg, hdnBanner.Value); } else { HeaderBannerReplaced = HeaderBannerURLReplaced.Replace("<img id=\"imgBanner\" alt=\"\" src=\"Images/" + SessionData.Product.DID + "/" + SessionData.Product.SHeaderBannerImg + "\" style=\"width: 500px; height: 100px;\" />", "<img id=\"imgBanner\" alt=\"\" src=\"Images/" + SessionData.Product.DID + "/" + "Banner" + hdnBanner.Value + "\" style=\"width: 500px; height: 100px;\" />"); //check if canvas settings have changed, if so, need to resize existing image } string ParamAdded = HeaderBannerReplaced.Replace(oldfinalURL, finalURL); string ObjectAdded = ParamAdded.Replace(fixedUrlOld, fixedURL); string DescriptionAdded = ObjectAdded.Replace(oVidShareData.SVideoShareDesc, txtDescription.Text.Trim().Replace("'", "''")); using (CanvasBizProcess canvasBiz = new CanvasBizProcess()) { canvasBiz.UpdatePreviewHTML(DescriptionAdded, SessionData.Customer.CustomerID, SessionData.Product.DID); } varCount++; } } else { if (!(string.IsNullOrEmpty(txtBannerURL.Text.Trim()))) //New image was chosen, then do normal replace, else, bring new image { HeaderBannerURLReplaced = createdHTML.Replace(SessionData.Product.SHeaderBannerURL, txtBannerURL.Text); } else { HeaderBannerURLReplaced = createdHTML.Replace(" <a id=\"aHeadBanner\" href=\"\" target=\"_blank\">", "<a id=\"aHeadBanner\" href=" + SessionData.Product.SHeaderBannerURL + " target=\"_blank\" >"); // Replace Banner URL } if (hdnFileBannerHasFile.Value.Equals(HASFILE)) //New image was chosen, then do normal replace, else, bring new image { HeaderBannerReplaced = HeaderBannerURLReplaced.Replace(SessionData.Product.SHeaderBannerImg, hdnBanner.Value); } else { HeaderBannerReplaced = HeaderBannerURLReplaced.Replace("<img id=\"imgBanner\" alt=\"\" src=\"Images/" + SessionData.Product.DID + "/" + SessionData.Product.SHeaderBannerImg + "\" style=\"width: 500px; height: 100px;\" />", "<img id=\"imgBanner\" alt=\"\" src=\"Images/" + SessionData.Product.DID + "/" + "Banner" + hdnBanner.Value + "\" style=\"width: 500px; height: 100px;\" />"); //check if canvas settings have changed, if so, need to resize existing image } string ParamAdded = HeaderBannerReplaced.Replace(oldfinalURL, finalURL); string ObjectAdded = ParamAdded.Replace(fixedUrlOld, fixedURL); string DescriptionAdded = ObjectAdded.Replace(oVidShareData.SVideoShareDesc, txtDescription.Text.Trim().Replace("'", "''")); //make all videos play automatically string autoPlayed = DescriptionAdded.Replace("autoplay=0", "autoplay=0"); using (CanvasBizProcess canvasBiz = new CanvasBizProcess()) { canvasBiz.UpdatePreviewHTML(autoPlayed, SessionData.Customer.CustomerID, SessionData.Product.DID); } varCount++; } } else { } } else { } if (hdnFileBannerHasFile.Value.Equals(HASFILE)) { SessionData.Product.SHeaderBannerImg = hdnBanner.Value; } // Add Banner URL if (!(string.IsNullOrEmpty(txtBannerURL.Text.Trim()))) { SessionData.Product.SHeaderBannerURL = txtBannerURL.Text.Trim(); } if (!(SessionData.Config == null)) { if (datepickerStart.Value != "") { SessionData.Config.SAppStartDT = SQLSafeDates(datepickerStart.Value, true); SessionData.Config.AppExpiryDT = SQLSafeDates(datepickerEnd.Value, true); } //Now fill up the Config and get Product data. if (fbBiz.UpdateConfigDetails(SessionData.Config, PROMOTIONS, SessionData.Config.SCustomtTabName)) { ////********If user comes here we know we should set up a Product Info, So, create a row in AppProduct and assign these values to SessionData******** SessionData.Product.AppConfigDID = SessionData.Config.DID; SessionData.Product.ProductName = SessionData.Config.AppName; SessionData.Product.ProductHTML = canv.FetchFinalHTML(SessionData.Product.DID, SessionData.Customer.CustomerID); fbBiz.UpdateProductDetails(SessionData.Product); } } else { //No configs allowed Page.ClientScript.RegisterStartupScript(this.GetType(), "myCloseScript", "alert(\"Config Not Available. Please Contact HELPDESK.\")", true); } } else { Page.ClientScript.RegisterStartupScript(this.GetType(), "myCloseScript", "alert(\"You can only create 3 Campaigns with a TRIAL account !\")", true); } HtmlGenericControl fbookShow = new HtmlGenericControl(); fbookShow = (HtmlGenericControl)MainList.FindControl("FacebookDet"); fbookShow.Style.Add("display", "block"); hdnTabStatus.Value = STEP_THREE_COMPLETE; } catch (Exception ex) { commonUtil.SendErrorMail(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod().Name.ToString(), System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.ToString(), SessionData.Customer.CustomerID); } }