using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace DTable_App.DTablePhoto
{
	/// <summary>
	/// add 的摘要说明。
	/// </summary>
	public class add : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.Label L_bbsname;
		protected System.Web.UI.WebControls.Label L_loginInfo;
		protected System.Web.UI.WebControls.Label L_hys;
		protected System.Web.UI.WebControls.Label L_lastuser;
		protected System.Web.UI.WebControls.Label L_today;
		protected System.Web.UI.WebControls.Label L_zts;
		protected System.Web.UI.WebControls.Label L_yesday;
		protected System.Web.UI.WebControls.Label L_zs;
		protected System.Web.UI.WebControls.Label L_user;
		protected System.Web.UI.WebControls.Label L_yhm;
		protected dtable.dTable DTable1;
	
		private void Page_Load(object sender, System.EventArgs e)
		{
			// 在此处放置用户代码以初始化页面
		
			DTable1.ConnStr=sharecode.ConnStr;
			DTable1.TableName ="DTable_Photo";
			string struser=sharecode.GetQueryStringValue("user");			
			string stryhm=sharecode.GetSessionValue(sharecode.strUserSName);            
			string strl=sharecode.GetQueryStringValue("lb");
			string strtype=sharecode.GetQueryStringValue("type");
			string strpname=sharecode.GetQueryStringValue("pname");

			if(stryhm=="")
			{
				sharecode.OutMsgBox("请先登录后再执行",true);
			}
			
			if(struser=="")
			{
				sharecode.OutMsgBox("传入的参数不足",true);
			}
			

			if (!sharecode.IsNumeric(strl) && strtype!="xc")//如果没有获取到相册id,且是添加提交状态
			{
				System.Data.SqlClient.SqlConnection oconn=new System.Data.SqlClient.SqlConnection(sharecode.ConnStr);
				oconn.Open();
				System.Data.SqlClient.SqlCommand mycmd=new System.Data.SqlClient.SqlCommand("select top 1 id from DTable_photo_kind where 所有人='" + struser + "' and 照片类别='" + strpname + "'",oconn);
				System.Data.SqlClient.SqlDataReader myreader=mycmd.ExecuteReader();
				if(myreader.Read())
				{
					strl=myreader.GetValue(0).ToString();
				}
				myreader.Close();
				mycmd.Dispose();
				oconn.Close();
				oconn.Dispose();
				if (strl=="")
				{
					sharecode.OutMsgBox("传入的参数不足",true);
				}
			}

			if(strtype=="xc")//添加相册
			{
				DTable1.Edit_FieldList ="id,照片类别 as 相册名称,本类说明 as 说明,公开 as 是否公开,允许用户 as 允许访问的用户,所有人";
				DTable1.Edit_FieldFormat ="1||||||例如:“我的家庭”,或者“2004年”。不要使用符号|^2||||||对相册的一些简短的描述,少于50个字|^3||boolean|是|否||如果选择是,将允许所有人访问该相册|^4||||||允许个别的用户才能访问该相册,多个用户之间用英文逗号分隔|^5||autovalue|" + stryhm + "||||";
				DTable1.TableName="DTable_Photo_kind"; 
				DTable1.Edit_EnablePostAndAddNewButton =false;
				DTable1.Edit_AddFinish_Script="alert('添加相册完成！ ');window.location.replace('list.aspx?user=" +  struser+ "');"; 
				L_user.Text=struser + "添加相册";
				DTable1.Edit_EnableAdd=true;
			}
			else if(strtype=="upxc")//更新相册
			{
				//L_mg.Text="<a href=\"add.aspx?meditid=" + strpid + "&user=" + struser + "&type=upxc\">更新相册</a> | <a href=\"add.aspx?delxc=" + strpid + "&user=" + struser + "&type=delete\">删除相册</a> | <a href=\"add.aspx?addnew=true&type=xc&user=" + struser + "\">添加相册</a>";

				DTable1.Edit_FieldList ="id,照片类别 as 相册名称,本类说明 as 说明,公开 as 是否公开,允许用户 as 允许访问的用户,所有人";
				DTable1.Edit_FieldFormat ="1||||||例如:“我的家庭”,或者“2004年”。不要使用符号|^2||||||对相册的一些简短的描述,少于50个字|^3||boolean|是|否||如果选择是,将允许所有人访问该相册|^4||||||允许个别的用户才能访问该相册,多个用户之间用英文逗号分隔|^5||autovalue|" + stryhm + "||||";
				DTable1.TableName="DTable_Photo_kind"; 
				DTable1.Edit_EnablePostAndAddNewButton =false;
				DTable1.Edit_EnableEdt=true;
				DTable1.Edit_EnableAdd =false;
				DTable1.Edit_UpdateFinish_Script="alert('更新相册完成！ ');window.location.replace('Imglist.aspx?user=" +  struser+ "&Pid=" + strl + "&PName=" + strpname + "');"; 
				L_user.Text=struser + "更新相册";
				
			}
			else if(strtype=="delete")//删除相册
			{
				string strdid=sharecode.GetQueryStringValue("delxc");
				if(!sharecode.IsNumeric(strdid))
				{
					sharecode.OutMsgBox("传入的参数不足，删除相册失败",true);
				}

				System.Data.SqlClient.SqlConnection oconn2=new System.Data.SqlClient.SqlConnection(sharecode.ConnStr);
				System.Data.SqlClient.SqlCommand mycmd2=new System.Data.SqlClient.SqlCommand("select 照片地址 from DTable_Photo where 类别='" + strl + "' and 发布人 ='" + stryhm + "'",oconn2);
				oconn2.Open();
string strerrinfo2="";
				System.Data.SqlClient.SqlDataReader myreader2=mycmd2.ExecuteReader();
				if(myreader2.Read())
				{

					try
					{
						//开始准备删除文件
						string strfilename=myreader2.GetValue(0).ToString();
						System.IO.File.Delete(Page.Server.MapPath(strfilename="img_up/" + stryhm + "/" + strfilename));
						System.IO.File.Delete(Page.Server.MapPath(strfilename="img_up/" + stryhm + "/mini/" + strfilename));

						
					}
					catch(System.Exception ex2)
					{
						strerrinfo2=ex2.Message.ToString();
					}
				}
				
				//开始删除相册记录
				myreader2.Close();
				mycmd2.CommandText="delete from DTable_Photo_Kind where id=" + strl + " and 所有人='" + stryhm + "'" ;
				try
				{
					mycmd2.ExecuteNonQuery();
				}
				catch(System.Exception ex3)
				{
					strerrinfo2+="<br>" + ex3.Message.ToString();
				}

				mycmd2.Dispose();
				oconn2.Close();
				oconn2.Dispose();
				if(strerrinfo2!="")
				{
//Page.Response.Write(strerrinfo2);
	Page.Response.Write("<script language=javascript>alert('相册删除完成!');window.open('list.aspx?user=" + struser + "','_self','');</script>");
				}
				else
				{
					Page.Response.Write("<script language=javascript>alert('相册删除完成!');window.open('list.aspx?user=" + struser + "','_self','');</script>");
				}
				
				Page.Response.End();


			}
			else if(strtype=="del")//删除图片
			{
				
				//开始获取图片路径
				string strfileurl="";
				string strfilename="";
				string strdelid=sharecode.GetQueryStringValue("delid");

				if(stryhm=="" || strdelid=="")
				{
					sharecode.OutMsgBox("传入的参数不足，删除图片失败",true);
				}

				System.Data.SqlClient.SqlConnection oconn1=new System.Data.SqlClient.SqlConnection(sharecode.ConnStr);
				oconn1.Open();
				System.Data.SqlClient.SqlCommand mycmd1=new System.Data.SqlClient.SqlCommand("select top 1 照片地址 from DTable_Photo where id=" + strdelid + " and 类别=" + strl + " and 发布人='" + stryhm + "'",oconn1);
				System.Data.SqlClient.SqlDataReader myreader1=mycmd1.ExecuteReader ();
				if(myreader1.Read())
				{
					strfilename=myreader1.GetValue(0).ToString();
					strfileurl=strfilename;
				}
				else
				{
					myreader1.Close();
					mycmd1.Dispose();
					oconn1.Close();
					oconn1.Dispose();
					sharecode.OutMsgBox("没有找到要删除的记录",true);
				
				}
				myreader1.Close();
				
				strfileurl="img_user/" + struser + "/" + strfileurl;
			    string strerrinfo="";
				//开始删除图片
				
				try
				{
					System.IO.File.Delete(Page.Server.MapPath(strfileurl)); 
					System.IO.File.Delete(Page.Server.MapPath("img_user/" + struser + "/mini/" + strfilename)); 

					mycmd1.CommandText ="delete from DTable_Photo where id=" + strdelid + " and 类别=" + strl + " and 发布人='" + stryhm + "'";
					mycmd1.ExecuteNonQuery();


				}
				catch( System.Exception ex)
				{
					
					strerrinfo="操作发生了一个错误：" + ex.Message.Replace("'","").Replace("\n","").Replace("\"","");
				}
				mycmd1.Dispose();
				oconn1.Close();
				oconn1.Dispose();
			
				Page.Response.Write("<script language=javascript>alert('图片删除完成!" + strerrinfo + "');window.open('Imglist.aspx?user=" + struser + "&PName=" + strpname + "&Pid=" + strl + "','_parent','');</script>");
				Page.Response.End();
				

			}
			else if(strtype=="tp")//发布图片
			{
				DTable1.Edit_FieldList ="id,照片主题,说明,照片地址 as 上传图片,类别,本类首页显示,公开,允许用户,发布人";
				DTable1.Edit_FieldFormat ="1||||||一个简短的说明,少于20个字|^2||||||对图片的一些简短的描述,少于500个字|^3||urlfile|img_user/" + struser + "/||img_user/" + struser + "/mini/|上传图片|^4||autovalue|" + strl + "||||^5||boolean|是|否||如果选择是,本图片将作为分类的封面图片|^6||boolean|是|否||如果选择是,则所有人均可察看该图片,否则只有[允许用户]才能访问|^7||||||允许个别的用户才能访问该图片,多个用户之间用英文逗号分隔|^8||autovalue|" + stryhm + "||||";
				DTable1.TableName="DTable_Photo"; 
				DTable1.Edit_AddFinish_Script="alert('添加图片完成！ ');window.location.replace('Imglist.aspx?user=" +  struser+ "&pid=" + strl + "&PName=" + Page.Server.UrlEncode(strpname) + "');"; 
				DTable1.Edit_EnablePostAndAddNewButton =false;
				DTable1.Edit_EnableAdd=true;
				L_user.Text=struser + "添加图片";
			}
			else if(strtype=="update")//更新图片
			{
				DTable1.Edit_FieldList ="id,照片主题,说明,照片地址 as 更新图片,类别,本类首页显示,公开,允许用户,发布人";
				DTable1.Edit_FieldFormat ="1||||||一个简短的说明,少于20个字|^2||||||对图片的一些简短的描述,少于500个字|^3||urlfile|img_user/" + struser + "/||img_user/" + struser + "/mini/|上传图片|^4||dbselectvalue|select id,照片类别 from DTable_photo_kind where 所有人='" + stryhm + "'||||^5||boolean|是|否||如果选择是,本图片将作为分类的封面图片|^6||boolean|是|否||如果选择是,则所有人均可察看该图片,否则只有[允许用户]才能访问|^7||||||允许个别的用户才能访问该图片,多个用户之间用英文逗号分隔|^8||autovalue|" + stryhm + "||||";
				DTable1.TableName="DTable_Photo"; 
				DTable1.Edit_Restriction =" 发布人='" + stryhm + "'";//限制只能修改自己发布的图片
				DTable1.Edit_UpdateFinish_Script ="alert('更新图片完成！ ');window.location.replace('Imglist.aspx?user=" +  struser+ "&pid=" + strl + "&PName=" + strpname + "');"; 
				DTable1.Edit_EnableAdd=false;
				DTable1.Edit_EnableEdt=true; 
				L_user.Text=struser + "更新图片";
			}
			DTable1.List_SQL="select count(*) from DTable_Photo";
			DTable1.List_Enable=false;
			DTable1.Show_Enable=false;
			
		
			DTable1.List_StyNum =2;
 


		
		}

		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion
	}
}
