1using System;
2using System.Xml;
3using System.IO;
4
5partial class WebUserControl : System.Web.UI.UserControl
6{
7 public void Page_Load(Object sender, EventArgs e)
8 {
9 btnImage.Click += (Button_Click);
10 }
11
12 protected bool imageIsAd;
13
14 protected void AdRadio_CheckedChanged(object sender, EventArgs e)
15 {
16 imageIsAd = true;
17 }
18
19 protected void GalleryRadio_CheckedChanged(object sender, EventArgs e)
20 {
21 imageIsAd = false;
22 }
23
24 public void Button_Click(object sender, EventArgs e)
25 {
26 if (!imageUpload.HasFile) return;
27
28 if (!imageIsAd)
29 {
30 var filePath = "~/Assets/Images/" + imageUpload.FileName;
31 imageUpload.SaveAs(MapPath(filePath));
32 }
33
34 var adPath = "~/Assets/Ads/" + imageUpload.FileName;
35 imageUpload.SaveAs(MapPath(adPath));
36 WriteXml();
37 ImageLink.Text = String.Empty;
38 AltText.Text = String.Empty;
39 }
40
41
42
43 void Page_PreRender()
44 {
45 var imgFolder = MapPath("~/Assets/Images/");
46 var dir = new DirectoryInfo(imgFolder);
47 dlstImages.DataSource = dir.GetFiles();
48 dlstImages.DataBind();
49 }
50
51 protected void WriteXml()
52 {
53 if (!imageIsAd) return;
54 System.Drawing.Image UppedImage = System.Drawing.Image.FromStream(imageUpload.PostedFile.InputStream);
55 float UploadedImageWidth = UppedImage.PhysicalDimension.Width;
56 float UploadedImageHeight = UppedImage.PhysicalDimension.Height;
57 var imagePath = "~/Assets/Ads/" + imageUpload.FileName;
58 // *Insert* var xmlFile = Absolute Path of XML file (use Literal)
59 var xmlFileInfo = new FileInfo(xmlFile);
60
61 if (!xmlFileInfo.Exists)
62 {
63 var writer = new XmlTextWriter(xmlFile, null);
64 writer.WriteStartDocument();
65 writer.WriteRaw("\n");
66 writer.WriteStartElement("Advertisements");
67 writer.WriteRaw("\n");
68 writer.WriteStartElement("Ad");
69 writer.WriteRaw("\n");
70 writer.WriteStartElement("", "ImageUrl", "");
71 writer.WriteString(imagePath);
72 writer.WriteEndElement();
73 writer.WriteRaw("\n");
74 writer.WriteStartElement("", "Width", "");
75 writer.WriteString(UploadedImageWidth.ToString());
76 writer.WriteEndElement();
77 writer.WriteRaw("\n");
78 writer.WriteStartElement("", "Height", "");
79 writer.WriteString(UploadedImageHeight.ToString());
80 writer.WriteEndElement();
81 writer.WriteRaw("\n");
82 writer.WriteStartElement("", "NavigateUrl", "");
83 writer.WriteString(ImageLink.Text);
84 writer.WriteEndElement();
85 writer.WriteRaw("\n");
86 writer.WriteStartElement("", "AlternateText", "");
87 writer.WriteString(AltText.Text);
88 writer.WriteEndElement();
89 writer.WriteRaw("\n");
90 writer.WriteEndElement();
91 writer.WriteRaw("\n");
92 writer.WriteEndElement();
93 writer.WriteRaw("\n");
94 writer.WriteEndDocument();
95 writer.Close();
96 }
97
98 else
99 {
100 var xdoc = new XmlDocument();
101 xdoc.Load(xmlFile);
102 var adverts = xdoc.SelectSingleNode("Advertisements");
103
104 XmlElement ad = xdoc.CreateElement("Ad");
105 XmlElement img = xdoc.CreateElement("ImageUrl");
106 img.InnerText = imagePath;
107 XmlElement width = xdoc.CreateElement("Width");
108 width.InnerText = UploadedImageWidth.ToString();
109 XmlElement height = xdoc.CreateElement("Height");
110 height.InnerText = UploadedImageHeight.ToString();
111 XmlElement navUrl = xdoc.CreateElement("NavigateUrl");
112 navUrl.InnerText = ImageLink.Text;
113 XmlElement xaltText = xdoc.CreateElement("AlternateText");
114 xaltText.InnerText = AltText.Text;
115
116 adverts.AppendChild(ad);
117 ad.AppendChild(img);
118 ad.AppendChild(width);
119 ad.AppendChild(height);
120 ad.AppendChild(navUrl);
121 ad.AppendChild(xaltText);
122 xdoc.Save(xmlFile);
123 }
124 }
125}
126