protected void uiButtonApply_Click(object sender, EventArgs e) { try { MailMessage msg = new MailMessage(); msg.IsBodyHtml = true; System.Drawing.Graphics myGraphic = null; string[] images = uiRadioButtonListLayouts.SelectedValue.Split('#'); System.Drawing.Image imgSelectedLayout; imgSelectedLayout = System.Drawing.Image.FromFile(Server.MapPath("~/" + images[0])); // add layout as attach msg.Attachments.Add(new Attachment(Server.MapPath("~/" + images[0]))); System.Drawing.Color backcolor = System.Drawing.ColorTranslator.FromHtml(uiHiddenFieldColor.Value); System.Drawing.Brush b = new System.Drawing.SolidBrush(backcolor); Cards card = new Cards(); card.LoadByPrimaryKey(CardID); // add Main card info msg.Body += "<br /> =========================================================== <br />"; msg.Body += " ========================= Card info ================== <br />"; msg.Body += " Card Name : " + card.CardNameEng; msg.Body += "<br /> Card Price : " + card.PriceNow; msg.Body += "<br /> Card Path : " + FullPath + " > " + card.CardNameEng; // add background color msg.Body += "<br /> =========================================================== <br />"; msg.Body += " ========================= Background color ================== <br />"; msg.Body += "Background Color : " + uiHiddenFieldColor.Value + "<br />"; System.Drawing.Bitmap backgroundcolor = new System.Drawing.Bitmap(imgSelectedLayout); System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(backgroundcolor); g.FillRectangle(b, 0, 0, imgSelectedLayout.Width, imgSelectedLayout.Height); g.Save(); string backpath = Guid.NewGuid().ToString(); backgroundcolor.Save(Server.MapPath("~/images/UserOrders/" + backpath + "_1.jpeg")); System.Drawing.Image GeneratedImg;// =new Image.FromFile(ImageBack); // draw background GeneratedImg = System.Drawing.Image.FromFile(Server.MapPath("~/images/UserOrders/" + backpath + "_1.jpeg")); myGraphic = System.Drawing.Graphics.FromImage(GeneratedImg); myGraphic.SmoothingMode = SmoothingMode.HighQuality; msg.Body += "<br /> =========================================================== <br />"; msg.Body += " ========================= Images Info ================== <br />"; //draw user uploaded images foreach (DataListItem dli in uiDataListImages.Items) { if (dli.ItemType == ListItemType.Item || dli.ItemType == ListItemType.AlternatingItem) { FileUpload imgfile = (FileUpload)dli.FindControl("uiFileUploadImg"); HiddenField hfPath = (HiddenField)dli.FindControl("uiHiddenFieldPath"); HiddenField hf = (HiddenField)dli.FindControl("uiHiddenFieldImgID"); HiddenField contrast = (HiddenField)dli.FindControl("uiHiddenFieldContrast"); HiddenField brightness = (HiddenField)dli.FindControl("uiHiddenFieldBrightness"); HiddenField rotate = (HiddenField)dli.FindControl("uiHiddenFieldRotate"); DropDownList style = (DropDownList)dli.FindControl("uiDropDownListStyle"); System.Web.UI.WebControls.Image current = (System.Web.UI.WebControls.Image)dli.FindControl("uiImageCurrent"); CardImages img = new CardImages(); img.LoadByPrimaryKey(Convert.ToInt32(hf.Value)); string path = hfPath.Value; if (imgfile.HasFile) { path = "images/UserOrders/cardImages/" + Guid.NewGuid().ToString() + imgfile.FileName; imgfile.SaveAs(Server.MapPath("~/" + path)); hfPath.Value = path; current.ImageUrl = path; current.Visible = true; } if (!string.IsNullOrEmpty(path)) { System.Drawing.Image currentCardImage; WebClient webclient = new WebClient(); System.IO.Stream s = webclient.OpenRead(ConfigurationManager.AppSettings["appHome"] + "ImageOnDemand.ashx?url=" + path + "&brightness=" + brightness.Value + "&contrast=" + contrast.Value + "&" + style.SelectedValue); currentCardImage = System.Drawing.Image.FromStream(s); if (float.Parse(rotate.Value) > 0) { myGraphic.TranslateTransform((float)img.ImgWidth / 2, (float)img.ImgHieght / 2); myGraphic.RotateTransform(float.Parse(rotate.Value)); myGraphic.DrawImageUnscaled(currentCardImage, img.PosX, img.PosY, img.ImgWidth, img.ImgHieght); myGraphic.RotateTransform(-float.Parse(rotate.Value)); myGraphic.TranslateTransform(-(float)img.ImgWidth / 2, -(float)img.ImgHieght / 2); } else { myGraphic.DrawImageUnscaled(currentCardImage, img.PosX, img.PosY, img.ImgWidth, img.ImgHieght); } // add image uploaded by user as attachment msg.Attachments.Add(new Attachment(Server.MapPath("~/" + path))); msg.Body += "Image " + (dli.ItemIndex + 1).ToString() + " : <br />"; msg.Body += "contrust : " + contrast.Value + "<br />"; msg.Body += "brightness : " + brightness.Value + " <br />"; msg.Body += "rotaion : " + rotate.Value + " <br />"; msg.Body += "style : " + style.SelectedValue.Substring(0, style.SelectedValue.IndexOf("=")) + " <br />"; } } } myGraphic.ResetTransform(); // draw layout //myGraphic.DrawImageUnscaled(imgSelectedLayout, 0, 0,imgSelectedLayout.Width, imgSelectedLayout.Height); myGraphic.DrawImage(imgSelectedLayout, 0, 0, imgSelectedLayout.Width, imgSelectedLayout.Height); myGraphic.Save(); // draw strings myGraphic.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit; msg.Body += "<br /> =========================================================== <br />"; msg.Body += " ========================= Text Info ================== <br />"; foreach (DataListItem dli in uiDataListCardText.Items) { if (dli.ItemType == ListItemType.Item || dli.ItemType == ListItemType.AlternatingItem) { HiddenField hf = (HiddenField)dli.FindControl("uiHiddenFieldTextID"); HiddenField hfc = (HiddenField)dli.FindControl("uiHiddenFieldMyColor"); DropDownList ddlfont = (DropDownList)dli.FindControl("uiDropDownListFonts"); DropDownList ddlfontsize = (DropDownList)dli.FindControl("uiDropDownListFontSize"); CardText text = new CardText(); TextBox tb = (TextBox)dli.FindControl("uiTextBoxText"); text.LoadByPrimaryKey(Convert.ToInt32(hf.Value)); System.Drawing.Color fontcolor = System.Drawing.ColorTranslator.FromHtml(hfc.Value); System.Drawing.Brush fontbrush = new System.Drawing.SolidBrush(fontcolor); FontFamily family = new FontFamily(ddlfont.SelectedItem.Text); float fontsize = (Convert.ToInt32(ddlfontsize.SelectedItem.Text) * family.GetEmHeight(FontStyle.Regular)) / family.GetCellDescent(FontStyle.Regular); myGraphic.DrawString(tb.Text, new Font(ddlfont.SelectedItem.Text, fontsize, FontStyle.Italic), fontbrush, new RectangleF(text.PosX, text.PosY, text.Width, text.Height)); msg.Body += text.TextLabel + " : " + tb.Text + "<br />"; msg.Body += "font : " + ddlfont.SelectedItem.Text + "<br />"; msg.Body += "font size : " + ddlfontsize.SelectedItem.Text + " <br />"; msg.Body += "color : " + hfc.Value + " <br />"; } } myGraphic.Save(); string newpath = Guid.NewGuid().ToString(); // save generated img GeneratedImg.Save(Server.MapPath("~/images/UserOrders/" + newpath + "_2.jpeg"), System.Drawing.Imaging.ImageFormat.Jpeg); uiImageMain.ImageUrl = "~/images/UserOrders/" + newpath + "_2.jpeg"; // add final image as attachment msg.Attachments.Add(new Attachment(Server.MapPath("~/images/UserOrders/" + newpath + "_2.jpeg"))); myGraphic.Dispose(); UserPayement temp = new UserPayement(); temp.AddNew(); temp.CardID = CardID; temp.CardDesign = "images/UserOrders/" + newpath + "_2.jpeg"; temp.CardCount = 1; try { temp.GetColumn("ItemPrice"); } catch (Exception) { temp.AddColumn("ItemPrice", Type.GetType("System.Double")); } temp.SetColumn("ItemPrice", card.PriceNow); Session["UserPayment"] = temp; uipanelError.Visible = false; OrderMail = msg; } catch (Exception ex) { uipanelError.Visible = true; } }
private void LoadCardInfo() { CardLayouts layout = new CardLayouts(); layout.GetCardLayoutByCardID(CardID); for (int i = 0; i < layout.RowCount; i++) { uiRadioButtonListLayouts.Items.Add(new ListItem(String.Format("<img src='{0}' style='width:100px' />", ".." + layout.LayoutImage), ".." + layout.LayoutImage + "#" + ".." + layout.LayeoutBackImage)); layout.MoveNext(); } if (uiRadioButtonListLayouts.Items.Count > 0) uiRadioButtonListLayouts.Items[0].Selected = true; CardColor colors = new CardColor(); colors.GetCardColorsByCardID(CardID); uiRepeaterColors.DataSource = colors.DefaultView; uiRepeaterColors.DataBind(); Dimension dims = new Dimension(); dims.GetAllDims(); uiRepeaterSizes.DataSource = dims.DefaultView; uiRepeaterSizes.DataBind(); CardText texts = new CardText(); texts.GetCardTxtByCardID(CardID); uiDataListCardText.DataSource = texts.DefaultView; uiDataListCardText.DataBind(); CardImages images = new CardImages(); images.GetCardImageByCardID(CardID); if (images.RowCount > 0) { uiDataListImages.DataSource = images.DefaultView; uiDataListImages.DataBind(); uiPanelNoImages.Visible = false; } else { uiDataListImages.Visible = false; uiPanelNoImages.Visible = true; } Cards card = new Cards(); card.LoadByPrimaryKey(CardID); Categories cat = new Categories(); cat.LoadByPrimaryKey(card.CategoryID); MainCat mcat = new MainCat(); mcat.LoadByPrimaryKey(cat.MainCatId); TopLevelCat tcat = new TopLevelCat(); tcat.LoadByPrimaryKey(mcat.TopLevelCatID); uiImageMain.ImageUrl = "../" + card.GeneralPreviewPhoto; FullPath = tcat.NameEng + " > " + mcat.NameEng + " > " + cat.CatNameEng; }
private void BindCardImages() { CardImages txt = new CardImages(); txt.GetCardImageByCardID(CurrentCard.CardID); uiGridViewCardImages.DataSource = txt.DefaultView; uiGridViewCardImages.DataBind(); if (txt.RowCount < 2) { uiButtonSaveImageInfo.Visible = true; } else { uiButtonSaveImageInfo.Visible = false; } }
protected void uiGridViewCards_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "EditCard") { Cards objData = new Cards(); objData.LoadByPrimaryKey(Convert.ToInt32(e.CommandArgument.ToString())); uiTextBoxCardNameEn.Text = objData.CardNameEng; uiTextBoxCardNameAr.Text = objData.CardNameAr; uiTextBoxDescEn.Text = objData.DescriptionEng; uiTextBoxDescAr.Text = objData.DescriptionAr; if (!objData.IsColumnNull("DefaultFont")) { uiDropDownListFonts.SelectedValue = objData.DefaultFont; } if (!objData.IsColumnNull("DimensionID")) uiDropDownListDim.SelectedValue = objData.DimensionID.ToString(); uiTextBoxPriceAfter.Text = objData.PriceNow.ToString(); uiTextBoxPriceBefore.Text = objData.PriceBefore.ToString(); uiPanelAllCards.Visible = false; uiPanelEdit.Visible = true; tabs.Visible = true; tabscontent.Visible = true; CurrentCard = objData; BindData(); BindCardTxt(); BindCardLayout(); BindCardColors(); BindCardImages(); uiLabelCatName.Text = uiDropDownListCats.SelectedItem.Text; uiLabelCardName.Text = objData.CardNameEng; } else if (e.CommandName == "DeleteCard") { try { int id = Convert.ToInt32(e.CommandArgument.ToString()); CardImages images = new CardImages(); images.GetCardImageByCardID(id); int irows = images.RowCount; for (int i = 0; i < irows; i++) { images.MarkAsDeleted(); images.MoveNext(); } images.Save(); CardLayouts layouts = new CardLayouts(); layouts.GetCardLayoutByCardID(id); int lrows = layouts.RowCount; for (int i = 0; i < lrows; i++) { layouts.MarkAsDeleted(); layouts.MoveNext(); } layouts.Save(); CardText texts = new CardText(); texts.GetCardTxtByCardID(id); int trows = texts.RowCount; for (int i = 0; i < trows; i++) { texts.MarkAsDeleted(); texts.MoveNext(); } texts.Save(); CardColor colors = new CardColor(); colors.GetCardColorsByCardID(id); int crows = colors.RowCount; for (int i = 0; i < crows; i++) { colors.MarkAsDeleted(); colors.MoveNext(); } colors.Save(); Cards objData = new Cards(); objData.LoadByPrimaryKey(id); objData.MarkAsDeleted(); objData.Save(); CurrentCard = null; BindData(); } catch (Exception ex) { return; } } }
protected void uiGridViewCardImages_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "EditImg") { CardImages objData = new CardImages(); objData.LoadByPrimaryKey(Convert.ToInt32(e.CommandArgument.ToString())); uiTextBoxImageWidth.Text = objData.ImgWidth.ToString(); uiTextBoxImageHeight.Text = objData.ImgHieght.ToString(); uiTextBoxImageX.Text = objData.PosX.ToString(); uiTextBoxImageY.Text = objData.PosY.ToString(); CurrentImg = objData; ClientScript.RegisterStartupScript(this.GetType(), "selectTab", "$(document).ready(function (){ $('#myTab a[href=\"#t-5\"]').tab('show'); $('#myTab a[href=\"#t-1\"]').removeClass('active'); $('#myTab a[href=\"#t-5\"]').addClass('active'); });", true); } else if (e.CommandName == "DeleteImg") { try { CardImages objData = new CardImages(); objData.LoadByPrimaryKey(Convert.ToInt32(e.CommandArgument.ToString())); objData.MarkAsDeleted(); objData.Save(); CurrentImg = null; BindCardImages(); ClientScript.RegisterStartupScript(this.GetType(), "selectTab", "$(document).ready(function (){ $('#myTab a[href=\"#t-5\"]').tab('show'); $('#myTab a[href=\"#t-1\"]').removeClass('active'); $('#myTab a[href=\"#t-5\"]').addClass('active'); });", true); } catch (Exception ex) { return; } } }
protected void uiButtonSaveImageInfo_Click(object sender, EventArgs e) { CardImages txt = new CardImages(); if (CurrentTxt == null) { txt.AddNew(); txt.CardID = CurrentCard.CardID; } else txt = CurrentImg; int width, height, x, y; int.TryParse(uiTextBoxImageWidth.Text, out width); int.TryParse(uiTextBoxImageHeight.Text, out height); int.TryParse(uiTextBoxImageY.Text, out y); int.TryParse(uiTextBoxImageX.Text, out x); txt.ImgWidth = width; txt.ImgHieght = height; txt.PosX = x; txt.PosY = y; txt.Save(); BindCardImages(); ClientScript.RegisterStartupScript(this.GetType(), "selectTab", "$(document).ready(function (){ $('#myTab a[href=\"#t-5\"]').tab('show'); $('#myTab a[href=\"#t-1\"]').removeClass('active'); $('#myTab a[href=\"#t-5\"]').addClass('active'); });", true); ClearImageFields(); CurrentImg = null; }