BookDetail.aspx

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using MyBookShop.BLL;
using MyBookShop.Models;


public partial class BookDetail : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (Request.QueryString["bid"] != null)
            {
                initPage(Convert.ToInt32(Request.QueryString["bid"]));
                ViewState["BookId"] = Request.QueryString["bid"].ToString();
            }
        }
    }

    private void initPage(int bid)
    {
        Book book=BookManager.GetBookById(bid);
        book.Clicks++;
        BookManager.ModifyBook(book);
        this.lblAuthor.Text=book.Author;
        this.lblBookName.Text = book.Title;
        this.lblPublisher.Text = book.Publisher.Name;
        this.lblBooksName.Text = book.Category.Name;
        this.lblISBN.Text = book.ISBN;
        this.lblPublishDate.Text = book.PublishDate.ToShortDateString();
        this.lblFonts.Text = book.WordsCount.ToString();
        this.lblPrice.Text = book.UnitPrice.ToString()+"元";
        this.lblContent.Text = book.ContentDescription;
        this.lblAuthorIntroduce.Text = book.AurhorDescription;
        this.lblRecomment.Text = book.EditorComment;
        this.lblCatagory.Text = book.TOC;
        this.imgBook.ImageUrl = StringHandler.CoverUrl(book.ISBN);
    }

    /// <summary>
    /// 購買
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void imgb_Buy_Click(object sender, ImageClickEventArgs e)
    {
        if (Session["CurrentUser"] != null)
        {
            if (Session["Cart"] == null)
            {
                this.BuildCart();
            }
            else
            {
                DataTable cart = Session["Cart"] as DataTable;
                if (this.ExistBook(cart))
                {
                    this.BuildSession(cart);
                }               
            }
            Response.Redirect("Cart.aspx");
        }
        else
        {
            Response.Redirect(@"Membership/UserLogin.aspx");
        }
    }
    /// <summary>
    /// 已有圖書
    /// </summary>
    /// <param name="cart"></param>
    /// <returns></returns>
    public bool ExistBook(DataTable cart)
    {
        foreach (DataRow dr in cart.Rows)
        {
            if (dr["BookName"].ToString().Equals(this.lblBookName.Text.Trim()))
            {
                dr["Number"] = Convert.ToInt32(dr["Number"]) + 1;
                Session["Cart"] = cart;
                Response.Redirect("Cart.aspx");
            }
        }
        return true;
    }
    /// <summary>
    /// 新建購物車表
    /// </summary>
    public void BuildCart()
    {
        DataTable cart = new DataTable();
        cart.Columns.Add("BookId");
        cart.Columns.Add("BookName");
        cart.Columns.Add("Number");
        cart.Columns.Add("UnitPrice");
        cart.Columns.Add("ImageUrl");

        this.BuildSession(cart);
    }
    /// <summary>
    /// 添加新書
    /// </summary>
    /// <param name="cart"></param>
    public void BuildSession(DataTable cart)
    {
        DataRow dr = cart.NewRow();
        dr["BookId"] = ViewState["BookId"].ToString();
        dr["BookName"] = this.lblBookName.Text.Trim();
        dr["Number"] = "1";
        dr["UnitPrice"] = this.lblPrice.Text.Substring(0, this.lblPrice.Text.Length - 1); ;
        dr["ImageUrl"] = this.lblISBN.Text.Trim();
        cart.Rows.Add(dr);

        Session["Cart"] = cart;
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章