managebookdetail.aspx.cs

来自「这是一个编好的网上书店系统」· CS 代码 · 共 369 行

CS
369
字号
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;
using System.IO;

namespace BookStore.Admin
{
	/// <summary>
	/// ManageBookDetail 的摘要说明。
	/// </summary>
	public class ManageBookDetail : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.HyperLink HyperLink1;
		protected System.Web.UI.WebControls.HyperLink HyperLink4;
		protected System.Web.UI.WebControls.HyperLink Hyperlink9;
		protected System.Web.UI.WebControls.HyperLink HyperLink2;
		protected System.Web.UI.WebControls.HyperLink HyperLink3;
		protected System.Web.UI.WebControls.HyperLink HyperLink5;
		protected System.Web.UI.WebControls.HyperLink Hyperlink7;
		protected System.Web.UI.WebControls.HyperLink Hyperlink8;
		protected System.Web.UI.WebControls.HyperLink HyperLink6;
		protected System.Web.UI.WebControls.Label Label1;
		protected System.Web.UI.WebControls.TextBox tbBookName;
		protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
		protected System.Web.UI.WebControls.Label Label2;
		protected System.Web.UI.WebControls.DropDownList ddPublisher;
		protected System.Web.UI.WebControls.TextBox tbOherPublisher;
		protected System.Web.UI.WebControls.Label Label3;
		protected System.Web.UI.WebControls.TextBox tbAuthor;
		protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;
		protected System.Web.UI.WebControls.Label Label4;
		protected System.Web.UI.WebControls.DropDownList ddSuperType;
		protected System.Web.UI.WebControls.DropDownList ddClassInfo;
		protected System.Web.UI.WebControls.Label Label5;
		protected System.Web.UI.WebControls.TextBox tbTranslator;
		protected System.Web.UI.WebControls.Label Label7;
		protected System.Web.UI.WebControls.DropDownList ddPageLarge;
		protected System.Web.UI.WebControls.Label Label8;
		protected System.Web.UI.WebControls.TextBox tbISBN;
		protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator3;
		protected System.Web.UI.WebControls.Label Label6;
		protected System.Web.UI.WebControls.TextBox tbPage;
		protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator6;
		protected System.Web.UI.WebControls.RegularExpressionValidator RegularExpressionValidator1;
		protected System.Web.UI.WebControls.Label Label9;
		protected System.Web.UI.WebControls.TextBox tbPublishDate;
		protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator4;
		protected System.Web.UI.WebControls.Label Label11;
		protected System.Web.UI.WebControls.TextBox tbPrice;
		protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator5;
		protected System.Web.UI.WebControls.Label Label13;
		protected System.Web.UI.WebControls.RadioButton rbYes;
		protected System.Web.UI.WebControls.RadioButton rbNo;
		protected System.Web.UI.WebControls.Label Label14;
		protected System.Web.UI.WebControls.Image imgBookCover;
		protected System.Web.UI.WebControls.Button btCoverUp;
		protected System.Web.UI.WebControls.Label Label10;
		protected System.Web.UI.WebControls.TextBox tbDescription;
		protected System.Web.UI.WebControls.Button btUpdateBook;
		protected System.Web.UI.WebControls.Label lbInfo;
		protected System.Web.UI.WebControls.Label lbImage;
		protected System.Web.UI.HtmlControls.HtmlForm Form1;
		protected System.Web.UI.HtmlControls.HtmlInputFile File1;
		RobertSoft.BookStore.Book currentBook = new RobertSoft.BookStore.Book();
		protected System.Web.UI.WebControls.HyperLink Hyperlink10;
		protected System.Web.UI.WebControls.DropDownList ddDiscount;
		protected System.Web.UI.WebControls.Label lbDiscount;
		static int nBookID;

		private void Page_Load(object sender, System.EventArgs e)
		{
			if(!IsPostBack)
			{
				if(Object.Equals(Session["UserName"],null))
				{
					Response.Redirect("../Error.aspx");
				}
				else
				{
					if(!RobertSoft.BookStore.User.IsSupervisor(Session["UserName"].ToString()))
					{
						Response.Redirect("../Default.aspx");
					}
					else
					{
						nBookID = int.Parse(Request["ID"].ToString());
						TypeBind(nBookID);
					}
				}
			}
		}

		private void TypeBind(int nID)
		{
			this.imgBookCover.Visible = false;
			DataSet currentDS, SubTypeDS;
			string strSql;
			strSql = "select *, img=case when(not Cover is null) then ' <img src=../ReadBookCover.aspx?id='+cast(ID as varchar(10))+' Border=1 width=150 height=190>' else ' <img src=../img/NoCover.jpg border=1 width=150 height=190>' end from ManageBookView where ID=" + nID;
			try
			{
				currentDS = RobertSoft.BookStore.DBClass.DBBaseClass.ExecuteSQLForDS(strSql);
			}
			catch
			{
				return;
			}
			
			this.ddClassInfo.DataSource = currentDS.Tables[0].DefaultView;
			DataRow currentDR;
			currentDR = currentDS.Tables[0].Rows[0];
			this.tbAuthor.Text = currentDR["Author"].ToString();
			this.tbBookName.Text = currentDR["BookName"].ToString();
			this.tbDescription.Text = currentDR["Description"].ToString();
			this.tbISBN.Text = currentDR["ISBN"].ToString();
			this.tbOherPublisher.Text = currentDR["PublishingHouse"].ToString();
			this.tbPage.Text = currentDR["Pages"].ToString();
			this.tbPrice.Text = currentDR["Price"].ToString();
			this.tbPublishDate.Text = currentDR["PublishDate"].ToString();
			this.tbTranslator.Text = currentDR["Translator"].ToString();
			this.ddSuperType.SelectedValue = currentDR["SuperBookType"].ToString();

			strSql = "select BookType, TypeName from BookType where SuperBookType=" + int.Parse(currentDR["SuperBookType"].ToString());
			try
			{
				SubTypeDS = RobertSoft.BookStore.DBClass.DBBaseClass.ExecuteSQLForDS(strSql);
			}
			catch
			{
				return;
			}
			this.ddClassInfo.DataSource = SubTypeDS.Tables[0].DefaultView;
			this.ddClassInfo.DataTextField = "TypeName";
			this.ddClassInfo.DataValueField = "BookType";
			this.ddClassInfo.DataBind();
			this.ddClassInfo.SelectedValue = currentDR["BookType"].ToString();

			this.ddPageLarge.SelectedValue = currentDR["PageLarge"].ToString();

			for(int i=85; i>=65; i--)
			{
				this.ddDiscount.Items.Add(i.ToString());			
			}
			
			if(int.Parse(currentDR["SpecialPrice"].ToString()) == 1)
			{
				this.rbYes.Checked = true;
				this.rbNo.Checked = false;
				this.ddDiscount.Visible = true;
				this.lbDiscount.Visible = true;
				this.ddDiscount.SelectedValue = currentDR["Discount"].ToString();
			}
			else
			{
				this.rbYes.Checked = false;
				this.rbNo.Checked = true;
			}
			this.lbImage.Visible = true;
			this.lbImage.Text = currentDR["img"].ToString();
			
		}

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

		}
		#endregion

		private void btUpdateBook_Click(object sender, System.EventArgs e)
		{
			FileStream fs=null;

			if(this.tbOherPublisher.Visible == true)
			{
				if(this.tbOherPublisher.Text == "")
				{
					this.lbInfo.Text = "出版社不能为空!";
					return;
				}
			}

			ArrayList arr;
						
			int nIsSpecialPrice;
			if(rbYes.Checked == true )
			{
				nIsSpecialPrice = 1;
			}
			else
			{
				nIsSpecialPrice = 0;
			}

			try
			{
				this.btUpdateBook.Enabled = false;
				bool nHasImage = false;
				arr=new ArrayList();
				// BookName, PublishingHouse, ClassInfo, Author, Translator, ISBN, Pages, PageLarge, SeriesName, 
				// PublishDate, Price, Description, Abstract, BookCatalog, Cover, CommentNumber, HitNumber, SoldNumber,
				// Status, SpecialPrice, Discount
				arr.Add(this.tbBookName.Text.Trim());
				arr.Add(this.tbOherPublisher.Text.Trim());
				arr.Add(this.ddClassInfo.SelectedValue.Trim());
				arr.Add(this.tbAuthor.Text.Trim());
				arr.Add(this.tbTranslator.Text.Trim());
				arr.Add(this.tbISBN.Text.Trim());
				arr.Add(this.tbPage.Text.Trim());
				arr.Add(this.ddPageLarge.SelectedValue.Trim());
				arr.Add(this.tbPublishDate.Text.Trim());
				arr.Add(this.tbPrice.Text.Trim());
				arr.Add(this.tbDescription.Text.Trim());
				arr.Add(nIsSpecialPrice.ToString());
				if(this.ddDiscount.Visible == true)
				{
					arr.Add(this.ddDiscount.SelectedValue.Trim());
				}
				else
				{
					arr.Add("90");
				}
				arr.Add(nBookID.ToString());
				if(!Object.Equals(ViewState["PostFileName"],null))
				{
					int ImageSize=0;
					byte[] ImageBuffer;
					string FileName;
					FileInfo TpFile;
					FileName=Server.MapPath("\\BookStore\\UpFile").ToString().Trim()+"\\"+ViewState["PostFileName"];
					TpFile=new FileInfo(FileName);
					ImageSize=(int)TpFile.Length;
					fs=new FileStream(FileName,FileMode.OpenOrCreate);
					BinaryReader r=new BinaryReader(fs);
					r.BaseStream.Seek(0,SeekOrigin.Begin);
					ImageBuffer=r.ReadBytes(ImageSize);
					arr.Add(ImageBuffer);
					nHasImage = true;
				}
				currentBook.UpdateBook(arr, nHasImage);
				this.lbInfo.Text = "更新图书成功!";
				TypeBind(nBookID);
				this.btUpdateBook.Enabled = true;
		
			}
			catch(Exception er)
			{
				this.lbInfo.Text = "更新图书失败!";
				throw new Exception(er.Message);
			}
			finally
			{
				if(!Object.Equals(ViewState["PostFileName"],null))
				{
					fs.Close();		
				}
			}
		}


		private void btCoverUp_Click(object sender, System.EventArgs e)
		{
			this.lbImage.Visible = false;
			string Path;
			string FileName;
			int Po;
			long FileSize;
			string fType;
			if(File1.PostedFile.FileName.Trim()!="")  //PostFile's Filename is not empty
			{
				try
				{
					this.btCoverUp.Enabled = false;
					Path=Server.MapPath("\\BookStore\\UpFile").ToString();
					FileName=File1.PostedFile.FileName.ToString();
					fType=File1.PostedFile.ContentType; 
					FileSize=File1.PostedFile.ContentLength;  
					if(fType.Substring(0,5)!="image")
					{
						ShowErrMsg("PostFile is not Image!");
						return;
					}
					Po=FileName.LastIndexOf((char)92);
					FileName=FileName.Substring(Po+1,FileName.Length -Po-1);
					ViewState["PostFileName"]=FileName;                //Remember PostFile's name
					File1.PostedFile.SaveAs(Path+"\\"+FileName); 
					this.imgBookCover.Visible = true;
					this.imgBookCover.ImageUrl= "..\\UpFile\\" + FileName;
					this.btCoverUp.Enabled = true;
				}
				catch(Exception er)
				{
					ShowErrMsg(er.Message);
				}
			}
		}

		/// <summary>
		/// Push Dialog,Show error message
		/// </summary>
		/// <param name="err">Error Message Detail</param>
		private void ShowErrMsg(string err)
		{
			string str;
			str="<script language='javascript'>";
			str+=" alert('" +err + "')";
			str+="</script>";
			this.lbInfo.Text = str;
		}

		private void rbYes_CheckedChanged(object sender, System.EventArgs e)
		{
			this.ddDiscount.Visible = true;
			this.lbDiscount.Visible = true;
		}

		private void rbNo_CheckedChanged(object sender, System.EventArgs e)
		{
			this.ddDiscount.Visible = false;
			this.lbDiscount.Visible = false;
		}

		private void ddSuperType_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			string strSql = "select BookType, TypeName from BookType where SuperBookType=" + int.Parse(this.ddSuperType.SelectedItem.Value);
			DataSet SubTypeDS;
			try
			{
				SubTypeDS = RobertSoft.BookStore.DBClass.DBBaseClass.ExecuteSQLForDS(strSql);
			}
			catch
			{
				return;
			}
			this.ddClassInfo.DataSource = SubTypeDS.Tables[0].DefaultView;
			this.ddClassInfo.DataTextField = "TypeName";
			this.ddClassInfo.DataValueField = "BookType";
			this.ddClassInfo.DataBind();			
		}


	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?