using System; using System.Data; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.IO; public partial class Admin_Photos_POP : System.Web.UI.Page { DBAccess.DBAccess DBAcc = new DBAccess.DBAccess(System.Configuration.ConfigurationSettings.AppSettings["SE_ConnectionString"]); private void Page_Load(object sender, System.EventArgs e) { if (!Page.IsPostBack) { load(); } } private Size NewthumbSize(int currentwidth, int currentheight, int MaxWH) { //Calculate the Size of the New image Double tempMultiplier; Size NewSize = new Size(); if (currentheight > currentwidth) // portrait { if (currentheight > MaxWH) { NewSize = new Size(Convert.ToInt32(currentwidth * MaxWH / currentheight), Convert.ToInt32(currentheight * MaxWH / currentheight)); } else { NewSize = new Size(Convert.ToInt32(currentwidth), Convert.ToInt32(currentheight)); } } else { if (currentwidth > MaxWH) { NewSize = new Size(Convert.ToInt32(currentwidth * MaxWH / currentwidth), Convert.ToInt32(currentheight * MaxWH / currentwidth)); } else { NewSize = new Size(Convert.ToInt32(currentwidth), Convert.ToInt32(currentheight)); } } return NewSize; } private string ImgRes_Save(string filepath, string id, int MaxWH) { System.Drawing.Image g = System.Drawing.Image.FromFile(filepath); ImageFormat thisFormat = g.RawFormat; Size thumbSize = new Size(); thumbSize = NewthumbSize(g.Width, g.Height, MaxWH); //create a new Bitmap the size of the new image Bitmap imgOutput = new Bitmap(thumbSize.Width, thumbSize.Height); //create a new graphic from the Bitmap Graphics graphic = Graphics.FromImage((System.Drawing.Image)imgOutput); graphic.SmoothingMode = SmoothingMode.HighQuality; graphic.InterpolationMode = InterpolationMode.HighQualityBicubic; graphic.PixelOffsetMode = PixelOffsetMode.HighQuality; //draw the newly resized image graphic.DrawImage(g, 0, 0, thumbSize.Width, thumbSize.Height); //if (MaxWH > 300) //{ // using (System.Drawing.Image j = System.Drawing.Image.FromFile(Request.MapPath("") + "/Pics/Logo.png", true)) // { // graphic.DrawImage(j, new Rectangle(10, thumbSize.Height - (((g.Width / 4) * 90 / 200) + 10), (g.Width / 4), ((g.Width / 4) * 90 / 200))); // } //} System.IO.FileStream fs = new FileStream(Request.MapPath("") + "\\..\\Photos_Swfs\\" + id.ToString(), FileMode.OpenOrCreate); //imgOutput.Save(Response.OutputStream, thisFormat); //output to the user imgOutput.Save(fs, thisFormat); //output to the user //tidy up //dispose and free up the resources graphic.Dispose(); g.Dispose(); imgOutput.Dispose(); fs.Dispose(); g = null; return id.ToString(); } public void load() { DataSet DS_HomePage_Photos = DBAcc.DataSetSel(@"SELECT [Photo_ID] ,[Photo_URL_Large] FROM [dbo].[__StandardEngine_T_Photos] where [Module_ID]=" + System.Configuration.ConfigurationSettings.AppSettings["SE_ModuleID"] + @" Order by [Photo_ID] asc" ); DataGrid1.DataSource = DS_HomePage_Photos; DataGrid1.DataBind(); #region Adding the con firm delete if (this.DataGrid1.Controls.Count > 0 && this.DataGrid1.Controls[0].Controls.Count > 2) { for (int i = 1; i < this.DataGrid1.Controls[0].Controls.Count - 1; i++) { LinkButton lnkB = (LinkButton)this.DataGrid1.Controls[0].Controls[i].FindControl("Linkbutton3"); lnkB.Attributes["onclick"] = "javascript:return confirm('Confirm data deletion');"; } } #endregion if (DS_HomePage_Photos.Tables.Count > 0 && DS_HomePage_Photos.Tables[0].Rows.Count > 0) { lbl_msg_NoCats.Visible = false; DataGrid1.Visible = true; } else { lbl_msg_NoCats.Visible = true; DataGrid1.Visible = false; } } public void edit(string _str_HomePage_Photo_ID) { DataSet dataSet1 = new DataSet(); dataSet1 = DBAcc.DataSetSel(@" SELECT [Photo_ID] ,[Photo_URL_Large] FROM [dbo].[__StandardEngine_T_Photos] where [Photo_ID]=" + _str_HomePage_Photo_ID ); //////////////////////////////////////////////////////////////////////////////////////////// hdn_Photo_ID.Value = _str_HomePage_Photo_ID; if (dataSet1.Tables[0].Rows[0]["Photo_URL_Large"] != Convert.DBNull && dataSet1.Tables[0].Rows[0]["Photo_URL_Large"].ToString() != "") { hdn_passed_Photo_URL_Large.Value = dataSet1.Tables[0].Rows[0]["Photo_URL_Large"].ToString().Trim(); img_Photo_Filename.ImageUrl = "../Photos_Swfs/" + dataSet1.Tables[0].Rows[0]["Photo_URL_Large"].ToString().Trim(); img_Photo_Filename.Visible = true; } else { img_Photo_Filename.Visible = false; } RequiredFieldValidator2.Enabled = false; } public void newrow() { hdn_Photo_ID.Value = "0"; hdn_passed_Photo_URL_Large.Value = ""; RequiredFieldValidator2.Enabled = true; } protected void Button1_Click1(object sender, EventArgs e) { #region validation bool valid = true; if (!valid) { return; } #endregion string Photo_ID_v_s = ""; string Photo_URL_Large_v_s = ""; string Module_ID_v_s = System.Configuration.ConfigurationSettings.AppSettings["SE_ModuleID"]; if (hdn_Photo_ID.Value == "0" || hdn_Photo_ID.Value == "") { Photo_ID_v_s = DBAcc.DataSetSel("select dbo.[__StandardEngine_F_MaxID_Photos]()+1 ").Tables[0].Rows[0][0].ToString(); #region Upload file if (fil_Photo_URL_Large.Value != "") { System.Web.UI.HtmlControls.HtmlInputFile File = fil_Photo_URL_Large; string str_fil_PicFileName = "_" + System.Configuration.ConfigurationSettings.AppSettings["SE_ModuleID"] + "_" + Photo_ID_v_s + fil_Photo_URL_Large.PostedFile.FileName.Substring(fil_Photo_URL_Large.PostedFile.FileName.LastIndexOf(".")); File.PostedFile.SaveAs(Request.MapPath("") + "\\..\\Photos_Swfs\\" + str_fil_PicFileName); Photo_URL_Large_v_s = "N'" + ImgRes_Save(Request.MapPath("") + "\\..\\Photos_Swfs\\" + str_fil_PicFileName, Photo_ID_v_s + fil_Photo_URL_Large.PostedFile.FileName.Substring(fil_Photo_URL_Large.PostedFile.FileName.LastIndexOf(".")), 1000) + "'"; System.IO.File.Delete(Request.MapPath("") + "\\..\\Photos_Swfs\\" + str_fil_PicFileName); } else { Photo_URL_Large_v_s = "NULL"; } #endregion DBAcc.CommandExc(@" INSERT INTO [dbo].[__StandardEngine_T_Photos] ([Photo_ID] ,[Photo_URL_Large] ,[Module_ID]) VALUES (" + Photo_ID_v_s + @", " + Photo_URL_Large_v_s + @", " + Module_ID_v_s + @")" ); } else { Photo_ID_v_s = hdn_Photo_ID.Value; #region Dealing with the picfile if (fil_Photo_URL_Large.Value != "") { if (hdn_passed_Photo_URL_Large.Value != "") { try { System.IO.File.Delete(Request.MapPath("") + "\\..\\Photos_Swfs\\" + hdn_passed_Photo_URL_Large.Value); } catch { } } #region Save file if (fil_Photo_URL_Large.Value != "") { System.Web.UI.HtmlControls.HtmlInputFile File = fil_Photo_URL_Large; string str_fil_PicFileName = "_" + System.Configuration.ConfigurationSettings.AppSettings["SE_ModuleID"] + "_" + Photo_ID_v_s + fil_Photo_URL_Large.PostedFile.FileName.Substring(fil_Photo_URL_Large.PostedFile.FileName.LastIndexOf(".")); File.PostedFile.SaveAs(Request.MapPath("") + "\\..\\Photos_Swfs\\" + str_fil_PicFileName); Photo_URL_Large_v_s = "N'" + ImgRes_Save(Request.MapPath("") + "\\..\\Photos_Swfs\\" + str_fil_PicFileName, Photo_ID_v_s + fil_Photo_URL_Large.PostedFile.FileName.Substring(fil_Photo_URL_Large.PostedFile.FileName.LastIndexOf(".")), 1000) + "'"; System.IO.File.Delete(Request.MapPath("") + "\\..\\Photos_Swfs\\" + str_fil_PicFileName); } #endregion } else if (hdn_passed_Photo_URL_Large.Value != "") { Photo_URL_Large_v_s = hdn_passed_Photo_URL_Large.Value != "" ? "N'" + hdn_passed_Photo_URL_Large.Value + "'" : "NULL"; } else { Photo_URL_Large_v_s = "NULL"; } #endregion DBAcc.CommandExc(@" update [dbo].[__StandardEngine_T_Photos] set [Photo_URL_Large]=" + Photo_URL_Large_v_s + @" where [Photo_ID]=" + hdn_Photo_ID.Value ); } newrow(); load(); btn_Cancel.Visible = false; btn_NewCat.Visible = true; td_Fields.Visible = false; td_Grid.Visible = true; } protected void Button2_Click1(object sender, EventArgs e) { btn_NewCat.Visible = false; btn_Cancel.Visible = true; td_Fields.Visible = true; td_Grid.Visible = false; img_Photo_Filename.Visible = false; newrow(); } protected void DataGrid1_ItemCommand1(object source, DataGridCommandEventArgs e) { int int_Order; DataSet DS_Bnrs = new DataSet(); switch (e.CommandName) { case "Edit": hdn_rowindex.Value = e.Item.ItemIndex.ToString().Trim(); hdn_Photo_ID.Value = e.CommandArgument.ToString(); btn_NewCat.Visible = false; btn_Cancel.Visible = true; td_Fields.Visible = true; td_Grid.Visible = false; edit(e.CommandArgument.ToString()); break; case "Delete": try { System.IO.File.Delete(Request.MapPath("") + "\\..\\Photos_Swfs\\" + DBAcc.DataSetSel(@"SELECT [Photo_URL_Large] FROM [dbo].[__StandardEngine_T_Photos] where [Photo_ID]=" + e.CommandArgument.ToString()).Tables[0].Rows[0][0].ToString()); } catch { } DBAcc.CommandExc(@" Delete FROM [dbo].[__StandardEngine_T_Photos] where [Photo_ID]=" + e.CommandArgument.ToString()); load(); break; } } protected void Button3_Click1(object sender, EventArgs e) { } protected void Button4_Click(object sender, EventArgs e) { btn_NewCat.Visible = true; btn_Cancel.Visible = false; td_Fields.Visible = false; td_Grid.Visible = true; } protected void category_id_SelectedIndexChanged(object sender, EventArgs e) { load(); } }