Đề tài Xây dựng website trang sức

MỤC LỤC

Chương 1. Giới thiệu chung 2

1.1 Tính cấp thiết đề tài 2

1.2 Mục đích đề tài 3

1.3 Giới thiệu công nghệ 3

Chương 2: Phân tích thiết kế hệ thống 8

2.1 Phân tích ứng dụng 8

2.1.1 Các đơn thể của ứng dụng 8

2.1.2 Thiết kế cơ sở dữ liệu 15

2.1.2.1 Tạo Cơ sở dữ liệu 15

2.1.2.2 Các bảng dữ liệu của ứng dụng 16

2.1.2.3 Tạo quan hệ 18

2.2 Kiến trúc của hệ thống 19

Chương 3. Xây dựng ứng dụng 21

3.1 Xây dựng các đối tượng dùng chung (Common Objects) 21

3.2 Xây dựng tầng truy cập dữ liệu 24

3.3 Xây dựng tầng logic 25

3.4 Xây dựng tầng trình bày dữ liệu 27

3.5 Xây dựng phần danh mục sản phẩm 27

3.6 Xây dựng chức năng giỏ hàng 28

3.7 Thực hiện xử lý thanh toán 30

3.8 Xây dựng phân hệ điều khiển hệ thống 32

Chương 4. Demo ứng dụng 35

4.1 Giới thiệu cấu trúc Folder của ứng dụng 35

Chương 5: Kết luận và hướng đề tài 41

5.1 Kết luận (những việc đã làm) 41

5.2 Hướng đề tài 41

Tài liệu tham khảo 43

 

 

doc42 trang | Chia sẻ: netpro | Lượt xem: 1732 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng website trang sức, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
kế, sự tách biệt này cho phép các lập trình viên chỉnh sửa server-side code mà không cần dính dáng gì tới đội ngũ thiết kế. ASP giúp cho việc tái sử dụng những yếu tố giao diện người dùng trong nhiều web form vì nó cho phép chúng ta lưu các thành phần này một cách độc lập. Bạn có được một công cụ tuyệt vời hỗ trợ phát triển các ứng dụng ASP.NET hoàn toàn miễn phí, đó là Visual Web Developer, một trình soạn thảo trực quan mạnh mẽ có tính năng Code Autocompletion, Code Format, Database Integration Functionality, Visual HTML editor, Debugging… * C# C# là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, là phần khởi đầu cho kế hoạch .NET của họ. Tên của ngôn ngữ bao gồm ký tự thăng theo Microsoft nhưng theo ECMA là C#, chỉ bao gồm dấu số thường. Microsoft phát triển C# dựa trên C++ và Java. C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java. C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổi tiếng với các sản phẩm Turbo Pascal, Delphi, J++, WFC. * IIS IIS được đính kèm với các phiên bản của Windows. Microsoft Internet Information Services (các dịch vụ cung cấp thông tin Internet) là các dịch vụ dành cho máy chủ chạy trên nền Hệ điều hành Window nhằm cung cấp và phân tán các thông tin lên mạng, nó bao gồm nhiều dịch vụ khác nhau như Web Server, FTP Server,… Nó có thể được sử dụng để xuất bản nội dung của các trang Web lên Internet/Intranet bằng việc sử dụng “Phương thức chuyển giao siêu văn bản” - Hypertext Transport Protocol (HTTP). Như vậy, sau khi bạn thiết kế xong các trang Web của mình, nếu bạn muốn đưa chúng lên mạng để mọi người có thể truy cập và xem chúng thì bạn phải nhờ đến một Web Server, ở đây là IIS. Nếu không thì trang Web của bạn chỉ có thể được xem trên chính máy của bạn hoặc thông qua việc chia sẻ tệp (file sharing) như các tệp bất kỳ trong mạng nội bộ mà thôi. Nhiệm vụ của IIS là tiếp nhận yêu cầu của máy trạm và đáp ứng lại yêu cầu đó bằng cách gửi về máy trạm những thông tin mà máy trạm yêu cầu. Bạn có thể sử dụng IIS để: Xuất bản một Website của bạn trên Internet. Tạo các giao dịch thương mại điện tử trên Internet (hiện các catalog và nhận được các đơn đặt hàng từ nguời tiêu dùng). Chia sẻ file dữ liệu thông qua giao thức FTP. Cho phép người ở xa có thể truy xuất database của bạn (gọi là Database remote access)... * SQL SERVER SQL Server là một hệ thống quản lý cơ sở dữ liệu (Relational Database Management System (RDBMS) sử dụng Transact-SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer. Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong hệ thống quản lý cơ sở dữ liệu. SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user. Chương 2: Phân tích thiết kế hệ thống 2.1 Phân tích ứng dụng 2.1.1 Các đơn thể của ứng dụng Hình 1. Sơ đồ hoạt động Tìm kiếm Hình 2. Sơ đồ hoạt động Thêm sản phẩm vào giỏ hàng Hình 3. Sơ đồ hoạt động Thanh toán Hình 4. Sơ đồ hoạt động Tiến trình xóa các giỏ hàng bị bỏ Hình 5. Sơ đồ hoạt động đăng ký tài khoản Hình 6. Use case cho Ứng dụng EndUser Người dùng có thể là khách hàng hay người quản trị Lớp EndUser chứa các thông tin của người dùng Vai trò người dùng được xác định bởi thuộc tính EndUserTypeID EndUserType Lớp EndUserType dùng để phân loại người dùng. Address Lớp Address là lớp dùng để chứa các thông tin địa chỉ Được kết hợp với các lớp khác cần địa chỉ. ContactInformation Lớp ContactInformation chứa thông tin liên lạc cho mỗi cá nhân, công ty hay người dùng. Product Lớp Product là lớp chính được sử dụng xuyên suốt trong hệ thống TMĐT Miêu tả thông tin chi tiết của các hàng hóa ProductCategory Lớp ProductCategory danh mục hàng hóa, tương tự như lớp EndUserType là bảng tham chiếu (lookup table) để miêu tả cho mỗi hàng hóa. ShoppingCart Lớp ShoppingCart là giỏ hàng trong ứng dụng. Thể hiện các sản phẩm được thêm vào giỏ hàng trong khi khách hàng mua hàng tại trang web. Orders Chứa các thông tin của một đơn đặt hàng. Đơn đặt hàng được thực hiện bởi khách hàng sau khi thanh toán giỏ hàng. Lớp Orders sẽ có một hay nhiều sản phẩm (được thể hiện ở lớp OrderDetails) OrderDetails Mỗi đơn đặt hàng sẽ bao gồm một hay nhiều sản phẩm. Mỗi lớp OrderDetails liên kết đến một sản phẩm. CreditCard Lớp CreditCard chứa các thông tin của thẻ tín dụng. Không lưu thông tin thẻ tín dụng vào CSDL, mà chỉ dùng lớp này để truyền thông tin bên trong ứng dụng. 2.1.2 Thiết kế cơ sở dữ liệu 2.1.2.1 Tạo Cơ sở dữ liệu Cở sở dữ liệu là PNJSilver gồm 11 bảng: Bảng Products Bảng ProductCategory Bảng ProductImages Bảng Orders Bảng OrderDetails Bảng OrderStatus Bảng EndUser Bảng EndUserType Bảng Address Bảng ContactInformation 2.1.2.2 Các bảng dữ liệu của ứng dụng Bảng Products Hình 1: Bảng Products Bảng ProductCategory Hình 2: Bảng ProductCategory Bảng ProductImages Hình 3: Bảng ProductImages Bảng Orders Hình 4: Bảng Orders Bảng OrderDetails Hình 5: Bảng Bảng OrderDetails Bảng OrderStatus Hình 6: Bảng OrderStatus Bảng EndUser Hình 7: Bảng EndUser Bảng EndUserType Hình 8: Bảng EndUserType Bảng Address Hình 9: Bảng EndUserType Bảng ContactInformation Hình 10: Bảng ContactInformation Bảng ShoppingCart Hình 11: Bảng ShoppingCart 2.1.2.3 Tạo quan hệ Các quan hệ của bảng OrderDetails Hình 12: Các quan hệ của bảng OrderDetails Các quan hệ của bảng Orders Hình 13: Các quan hệ của bảng Orders Các quan hệ của bảng EndUser Hình 14: Các quan hệ của bảng EndUser Các quan hệ của bảng Products Hình 15: Các quan hệ của bảng Products Các quan hệ của bảng ShoppingCart Hình 16: Các quan hệ của bảng ShoppingCart 2.2 Kiến trúc của hệ thống Trong phát triển ứng dụng, để dễ quản lý các thành phần của hệ thống, cũng như không bị ảnh hưởng bởi các thay đổi, người ta hay nhóm các thành phần có cùng chức năng lại với nhau và phân chia trách nhiệm cho từng nhóm để công việc không bị chồng chéo và ảnh hưởng lẫn nhau. Trong phát triển phần mềm, người ta cũng áp dụng cách phân chia chức năng này. Bạn sẽ nghe nói đến thuật ngữ kiến trúc đa tầng/nhiều lớp, mỗi lớp sẽ thực hiện một chức năng nào đó, trong đó mô hình 3 lớp là phổ biến nhất đó là lớp Presentation, Business Logic, và Data Access. Các lớp này sẽ giao tiếp với nhau thông qua các dịch vụ(services) mà mỗi lớp cung cấp để tạo nên ứng dụng, lớp này cũng không cần biết bên trong lớp kia làm gì mà chỉ cần biết lớp kia cung cấp dịch vụ gì cho mình và sử dụng nó mà thôi. Giới thiệu về tầng trình bày (Presentation Layer) Lớp này làm nhiệm vụ giao tiếp với người dùng cuối để thu thập dữ liệu và hiển thị kết quả/dữ liệu thông qua các thành phần trong giao diện người sử dụng. Lớp này sẽ sử dụng các dịch vụ do lớp Business Logic cung cấp. Presentation Layer của hệ thống là tất cả những gì hiện thị đến người dùng. Trong Presentation Layer chứa các nội dung trang HTML và điều kiển trình chủ (server control). Giới thiệu về tầng truy cập dữ liệu (Data Access Layer) Lớp này thực hiện các nghiệp vụ liên quan đến lưu trữ và truy xuất dữ liệu của ứng dụng. Thường lớp này sẽ sử dụng các dịch vụ của các hệ quản trị cơ sở dữ liệu như SQL Server, Oracle,... để thực hiện nhiệm vụ của mình. Ứng dụng cần phải tương tác với một số dữ liệu. Data access layer sẽ thực thi các thao tác dữ liệu này. Giới thiệu về tầng logic (Business Logic Layer) Business logic layer thực thi các luật nghiệp vụ (business rules) Lớp này thực hiện các nghiệp vụ chính của hệ thống, sử dụng các dịch vụ do lớp Data Access cung cấp, và cung cấp các dịch vụ cho lớp Presentation. Lớp này cũng có thể sử dụng các dịch vụ của các nhà cung cấp thứ 3 (3rd parties) để thực hiện công việc của mình Là cầu nối giữa Presentation layer và Data access layer. Chương 3. Xây dựng ứng dụng 3.1 Xây dựng các đối tượng dùng chung (Common Objects) Tạo các lớp dùng chung của ứng dụng. Common Objects có vai trò miêu tả các đối tượng nghiệp vụ trong hệ thống, và là đối tượng được dùng để truyền thông tin qua các tầng của hệ thống. Tạo một lớp mới và đặt tên cho lớp mới này là EndUser sau đó khai báo public, hàm tạo và thuộc tính (property) EndUserID cho lớp này. Tạo lớp mới tên EndUserType cho project này, khai báo public và thêm hàm tạo. Thêm field _endusertypeid. Tiếp theo sử dụng tính năng refactoring để tạo property một cách tự động. LớpProduct Lớp ProductCategory Lớp Orders Lớp OrderDetail Lớp Address Lớp ContactInformation Lớp ShoppingCart Lớp CreditCard Lớp Enums là lớp chứa kiểu liệt kê loại người dùng. 3.2 Xây dựng tầng truy cập dữ liệu Lớp SQLHelper: chứa các phương thức thực thi csdl, nó tự động quản lý các kết nối (connection), tham số (parameter), và tên của stored procedure. Thêm file SQLHelper.cs vào project PNJSilver.DataAccess. Tạo lớp DataBaseHelper: Lớp DataBaseHelper được thêm vào data access layer, lớp này sử dụng các hàm của lớp SQLHelper để thực thi các xử lý liên quan đến CSDL. Sau đó khai báo các namespaces System.Data, System.Data.SqlClient, và Microsoft.ApplicationBlocks.Data, khai báo public cho lớp và thêm các trường (field): tên stored procedure và mảng SqlParameter (đây là mảng chứa các tham số tương ứng của stored procedure). Thực hiện lấy giá trị Connection String từ file Web.config. Trước tiên ta thêm tham chiếu (reference) cho project PNJSilver.DataAccess. Tham chiếu đó là thư viện System.Configuration của Framework Library. Sau đó thêm khai báo namespace: System.Configuration và thêm thuộc tính ConnectionString (đây là thuộc tính chỉ đọc) cho lớp DataBaseHelper Các hàm chức năng xử lý csdl của lớp DataBaseHelper: + Thêm 2 hàm tạo: một hàm có tham số là tên stored procedure, hàm còn lại có tham số là tên stored procedure và mảng các tham số của stored procedure. + Thêm 2 phương thức quá tải Run. Hai phương thức này khác nhau là phương thức thứ hai thực hiện theo transaction. + Thêm hai phương thức quá tải RunScalar. Hai phương thức này trả về giá trị vô hướng và khác nhau là phương thức thứ hai thực hiện theo transaction. + Thêm phương thức RunReader. Phương thức này trả về giá trị là SqlDataReader + Thêm phương thức RunDataSet. Phương thức này trả về giá trị là DataSet Thực hiện Connection String Ở phần này ta thêm file Web.config vào web project và thêm connection string vào file Web.config. Bên trong file Web.config, thay đổi tag connectionStrings (giá trị connectionString phụ thuộc vào SQL Server cài trên máy thực hành). Tạo lớp DataAccessBase: chứa các thành phần chung cần thiết cho các lớp thực thi chức năng truy cập csdl, vì vậy các lớp thực thi chức năng data access thì sẽ kế thừa từ lớp này. Khai báo public cho lớp, thêm field _storedprocedurename và property StoredProcedureName tương ứng. Tạo lớp StoreProcedure: là nơi khai báo các stored procedure được sử dụng bởi các lớp truy cập cơ sở dữ liệu của tầng data access layer, sau đó thêm kiểu liệt kê (enumeration) tên là Name cho lớp này, khi cần sử dụng stored procedure nào ta sẽ khai báo tên của mỗi stored procedure vào kiểu liệt kê Name. 3.3 Xây dựng tầng logic Tạo interface IBusinessLogic, interface này khai báo phương thức chung cho tất cả các lớp thực hiện nghiệp vụ của tầng business logic layer. Tiếp theo thêm khai báo các method hay property cần thiết. Thêm lớp mới tên ProcessGetProducts (lớp này có chức năng lấy tất cả các sản phẩm) khai báo public và thực thi interface IBusinessLogic và chỉ định lớp ProcessGetProducts sẽ thực hiện interface IBusinessLogic. Thực hiện tầng Business Logic Layer sử dụng tầng Data Access Layer. Tạo một forder mới đặt tên là Select. Thư mục này sẽ cung cấp thêm namespace PNJsilver.DataAccess.Select cho các lớp chứa trong nó. Sau khi thêm thư mục Select, ta có thể thêm các lớp data access thực hiện truy vấn select cơ sở dữ liệu trong thư mục này. Trong thư mục Select thêm lớp ProductSelectByIDData (lớp này có chức năng lấy một sản phẩm dựa vào ID của sản phẩm). Ta có lớp đầu tiên trong thư mục Select, lớp này cần sử dụng common object vì vậy ta cần tham chiếu đến project PNJSilver.Common. Sau đó ta khai báo namespace của common object trong lớp ProductSelectByIDData. Ngoài ra ta cũng cần chỉ định public cho lớp ProductSelectByIDData và kế thừa lớp DataAccessBase, tạo field và property cho common object Product, ta không khởi tạo thuộc tính Product vì nó sẽ được khởi tạo ở tầng Presentation Layer và được truyền vào lớp ProductSelectByIDData thông qua property Product. Property Product được dùng để truy vấn csdl. Để thật sự truy vấn csdl ta cần thực hiện thêm mã chương trình (code). Mã thực thi này sẽ sử dụng lớp SQLHelper, nhưng trước tiên cho ta cần thêm namespace và thêm phương thức Get trả về DataSet trong lớp ProductSelectByIDData. Ta cần chỉ định tên của stored procedure được sử dụng để truy vấn csdl bằng cách tại lớp StoredProcedure thêm tên stored procedure cho kiểu liệt kê Name là ProductByID_Select (stored procedure này sẽ được tạo trong cơ sở dữ liệu) và ta cần chỉ định tên StoredProcedure trong hàm tạo của lớp ProductSelectByIDData. Sau đó thêm vào một lớp mới bên cạnh lớp ProductSelectByIDData tên là ProductSelectByIDDataParameters. Lớp ProductSelectByIDDataParameters này có chức năng xây dựng các parameter tương ứng của stored procedure mà lớp ProductSelectByIDData sử dụng. Trong lớp này có một tập các SQL parameter được tạo ra trong phương thức Build() và phương thức Build() này được gọi trong hàm tạo. Và giá trị cho các parameter này được lấy từ lớp common object Product. Lớp Product sẽ được truyền theo hàm tạo và sau đó được gán vào cho property tương ứng. Cuối cùng trong lớp ProductSelectByIDData là thêm vào mã thực thi sử dụng lớp DataBaseHelper và trả về DataSet tương ứng với product được chỉ định bởi ID. Tại project PNJSilver.BusinessLogic ta thêm tham chiếu đến 2 project: common objects project và data access project. Tạo lớp ProcessGetProductByID cho project PNJSilver.BusinessLogic. Lớp ProcessGetProductByID này sẽ sử dụng lớp ProductSelectByIDData của project PNJSilver.DataAccess (tầng data access layer). Sau khi thêm lớp mới này, ta cần thực hiện một số thay đổi như khai báo namespace và thực hiện interface IBusinessLogic, và thực hiện interface IBusinessLogic với phương thức Invoke(), trong phương thức này ta gọi lớp ProductSelectByIDData trong tầng data access. Còn đối tượng dùng chung Product sẽ được khởi tạo bên trong tầng Presentation Layer với product ID tương ứng. Product này được truyền theo tuần tự từ lớp của tầng business logic và sau đó được truyền đến lớp của tầng data access. Cuối cùng một DataSet được trả về từ csdl, và DataSet này sẽ được sử dụng ở tầng presentation để gán cho một đối tượng hiển thị nào đó. 3.4 Xây dựng tầng trình bày dữ liệu Trang Main.Master để tạo khung giao diện cho website Trang Default.aspx để dùng giới thiệu công ty PNJSilver Trang Sanpham.aspx để dùng hiển thị danh mục các sản phẩm Trang Dichvu.aspx cung cấp một số thông tin về các dịch vụ của công ty cho khách hàng. Trang Tuvan.aspx để dùng liệt kê các câu hỏi thường gặp của khách hàng. Trang Lienhe.aspx cho phép khách hàng gửi các thông tin phản hồi. Trang ErrorPage.aspx là nơi nắm bắt các lỗi của ứng dụng và thông báo đến người dùng khi có lỗi xảy ra. 3.5 Xây dựng phần danh mục sản phẩm Tạo stored procedure Products_Select để truy vấn tất cả các sản phẩm trong Databaes. Thêm tên mới của stored procedure vừa tạo trong lớp StoredProcedure ở tầng Data Access Layer. Tạo lớp ProductSelectData sau đó khai báo public, namespace System.Data, kế thừa lớp DataAccessBase, và chỉ định tên stored procedure trong hàm tạo Thực hiện code cho tầng Business Logic Layer: trước tiên thêm khai báo namespace System.Data, PNJSilver.DataAccess.Select và thêm property lưu DataSet được trả về bên trong hàm Invoke. Property này sẽ được sử dụng ở tầng presentation. Ở trong hàm Invoke sẽ khởi tạo lớp ProductSelectData từ tầng data access, và gọi hàm Get của lớp này. Sau đó gán kết quả trả về cho property ResultSet. Tạo trang ImageViewer.ashx để hiển thị hình ảnh của mỗi sản phẩm. Sau đó tạo stored procedure ProductImage_Select để lấy hình ảnh tương ứng của sản phẩm. Tại project PNJSilver.DataAccess thực hiện : khai báo stored procedure ProductImage_Select trong lớp StroredProcedure và tạo lớp ProductImageSelectByIDData.cs trong thư mục Select. Tại project PNJSilver.BusinessLogic, thêm lớp mới tên ProcessGetProductImage. 3.6 Xây dựng chức năng giỏ hàng Tạo stored procedure cho csdl. Stored procedure này là ShoppingCart_Insert, tiếp theo thực hiện mã cho tầng data access layer. Tại project PNJSilver.DataAccess trước khi thêm lớp thực thi stored procedure ShoppingCart_Insert, ta tạo thư mục tên Insert. Tạo lớp mới tên là ShoppingCartInsertData trong thư mục Insert, khai báo tên stored procedure ShoppingCart_Insert trong lớp StoredProcedure. Thực hiện chỉnh sửa lớp ShoppingCartInsertData: thêm chỉ định public cho lớp, thừa kế từ lớp DataAccessBase, thêm khai báo 3 namespace System.Data, System.Data.SqlClient, PNJSilver.Common và chỉ định tên stored procedure sẽ được sử dụng đó là ShoppingCart_Insert. Thêm khai báo field và property của đối tượng dùng chung (common object) được sử dụng trong lớp. Tiếp tục thêm phương thức nhằm insert giá trị vào table ShoppingCart và lớp ShoppingCartInsertDataParameters nhằm xây dựng các parameter cần thiết cho stored procedure. Tại project PNJSilver.BusinessLogic, thêm lớp mới có tên là ProcessAddShoppingCart. Bước tiếp theo là tầng Presentation Layer. Tại web porject ta thêm trang AddToCart.aspx. Trang này ta bỏ đi phần nội dung chỉ giữ lại phần khai báo. Mã cho trang này dựa vào trường hợp lấy thông tin shopping cart ID (là kiểu GUID) được lưu trong cookie của máy khách hàng. Nếu không có thông tin shopping cart ID này thì sẽ tạo lại trên máy khách hàng. Chức năng tạo và lấy cookie trên máy khách hàng nhờ vào hàm GetCartGUID() của lớp Utilities trong project PNJSilver.Operational. Vì mã thực thi ở trên có sử dụng lớp Utilities trong project PNJSilver.Operational, nên tại web project ta cần thêm tham chiếu đến project PNJSilver.Operational. Tạo trang giỏ hàng (Shopping Cart) trang này giúp hiển thị giỏ hàng. Tạo stored procedure truy vấn table ShoppingCart để hiển thị các mặt hàng đã thêm vào giỏ hàng dựa vào cart ID. Thực hiện tầng data access layer: tại project PNJSilver.DataAccess ta thực hiện: tại lớp StoredProcedure thêm khai báo stored procedure ShoppingCart_Select, tại thư mục Select thêm file lớp ShoppingCartSelectData.cs Thực hiện tầng business logic layer: tại project PNJsilver.BusinessLogic thêm lớp ProcessGetShoppingCart. Thực hiện tầng Presentation Layer: thêm trang ShoppingCart.aspx với master page là Main.master Sau đó tiếp tục thực hiện tính tổng giá trị các sản phẩm được thêm vào giỏ hàng, giá trị này được hiển thị bởi control labelTotal. Để thực hiện điều này, ta cần lặp qua control GridView khi control này phát sinh sự kiện đang thực hiện gán dữ liệu (data bound). Trong quá trình gán dữ liệu ta thực hiện tính tổng giá trị của giỏ hàng. Thực hiện chức năng cập nhật giỏ hàng (Shopping Cart) sẽ cho phép khách hàng cập nhật giỏ hàng của mình. Cập nhật bao gồm: xóa các mặt hàng trong giỏ hàng và cập nhật số lượng các mặt hàng trong giỏ hàng. Tạo 2 stored procedure: một stored procedure cập nhật số lượng của hàng hóa trong giỏ hàng, một stored procedure xóa hàng từ giỏ hàng Thực hiện tầng data access layer tại project PNJSilver.DataAccess, khai báo tên 2 stored procedure mới tạo ở trên trong lớp StoredProcedure. Tại project PNJSilver.DataAccess tạo thư mục Update, sau đó tạo lớp ShoppingCartUpdateData. Tương tự tạo lớp ShoppingCartDeleteData trong thư mục Delete. Thực hiện tầng business logic layer: sau khi hoàn thành mã cho data access layer, ta tiếp tục với tầng business logic layer, lần lượt thêm 2 lớp cho 2 chức năng update và delete vừa tạo ở trên cho project PNJSilver.BusinessLogic. Tên lớp cho chức năng update là ProcessUpdateShoppingCart, và tên cho chức năng delete là ProcessDeleteShoppingCart Thực hiện tầng Presentation Layer: dể hoàn thành chức năng update và delete của giỏ hàng, ta tiếp tục thực hiện tầng Presentation Layer. Quay về lại trang ShoppingCart.aspx trong web project, thêm 2 giá trị khác nhau cho thuộc tính DataKeyNames của GridView, hai giá trị được thêm vào thuộc tính DataKeyNames là Quantity và ShoppingCartID Xóa bỏ các giỏ hàng quá hạn: chỉ tác động đến csdl. Tạo stored procedure để xóa các giỏ hàng quá hạn trong table ShoppingCart. Stored procedure đó là ShoppingCart_DeleteAbandoned. Sau khi tạo stored procedure trên, ta cần thực hiện thêm một vài tác vụ đối với SQL Server 3.7 Thực hiện xử lý thanh toán Tạo trang đăng nhập khách hàng: tạo trang Dangnhap.aspx với master page là Main.master. Trước khi cho khách hàng login vào trang web, ta phải cho phép khách hàng tạo được account thông qua trang Dangky.aspx. Tạo trang đăng ký account cho khách hàng mới. Tạo stored procedure cho phép tạo account mới, vì stored procedure này sẽ thêm thông tin cho 3 bảng EndUser, Address và ContactInformatio. Vì vậy ở đây chúng ta cần sử dụng transaction. Sau khi tạo xong stored procedure, ta tiếp tục với data access layer. Tại project PNJSilver.DataAccess è lớp StoredProcedure: ta khai báo stored procedure EndUser_Insert và thêm lớp EndUserInsertData trong thư mục Insert. Tiếp theo thực hiện business logic layer.Tại project PNJSilver.BusinessLogic thêm lớp ProcessAddEndUser Tiếp theo thực hiện business logic layer.Tại project PNJSilver.BusinessLogic thêm lớp ProcessAddEndUser Tiếp tục tạo lớp BasePage trong web project lớp này có chức năng lưu trữ thông tin khách hàng vừa login, và nếu trang nào cần lấy thông tin khách hàng login vào web site thì có thể kế thừa lớp này. File lớp BasePage.cs khi được tạo ra sẽ tự động được đưa vào thư mục App_Code của web project. Thực hiện chức năng đăng nhập khách hàng: tạo stored procedure EndUserLogin_Select Thực hiện tầng data access layer: tại project PNJSilver.DataAccess: thêm khai báo stored procedure EndUserLogin_Select cho lớp StoredProcedure, tạo lớp file lớp EndUserLoginSelectData.cs bao gồm 2 lớp EndUserLoginSelectData và EndUserLoginSelectDataParameters trong thư mục Select Thực hiện tầng business logic layer tại project PNJSilver.BusinessLogic, thêm lớp ProcessEndUserLogin Thực hiện chức năng lấy Address và ContactInformation. Trước khi thực hiện chức năng login, ta cần xây dựng chức năng lấy Address và ContactInformation của EndUser tương ứng. Ta sẽ thực hiện các bước như sau: tạo 2 stored procedure để lấy Address và ContactInformation như sau, sau đó lần lượt xây dựng tầng data access layer và business logic layer cho 2 stored procedure này. Thực hiện tầng business logic layer cho 2 stored procedure trên, tại PNJSilver.BusinessLogic tạo lớp ProcessGetAddress ,ProcessGetContactInformation Tạo trang đặt hàng:thực hiện stored procedure Order_Insert và OrderDetails_Insert Thực hiện tầng data access layer cho 2 stored procedure trên. Tại project PNJSIlver.DataAccess: khai báo 2 stored procedure Order_Insert và OrderDetails_Insert trong lớp StoredProcedure, thêm 2 file lớp OrderInsertData.cs và OrderDetailsInsertData.cs vào thư mục Insert. Tạo thư mục Transaction. Trong thư mục Transaction, tạo lớp TransactionBase và lớp OrderInsertTransaction kế thừa từ lớp TransactionBase. Lớp OrderInsertTransaction sẽ sử dụng 2 lớp OrderInsertData và OrderDetailsInsertData trong 1 transaction để thực thi thêm một đơn đặt hàng vào database. Thực hiện tầng business logic layer. Tại project PNJSilver.BusinessLogic, thêm lớp ProcessAddOrder, lớp này sẽ sử dụng lớp OrderInsertTransaction trong tầng data access layer để thực thi logic nghiệp vụ. Thực hiện tầng Presentation Layer tại web project thêm trang AddOrders.aspx 3.8 Xây dựng phân hệ điều khiển hệ thống Thực hiện tính năng Admin: tại web project, thêm thư mục Admin Ta thêm một file Web.config khác trong thư mục Admin. Trong file Web.config mới, ta thêm phần mã chỉ định rằng các trang trong thư mục Admin sẽ không truy cập vào được trừ khi người dùng được xác định là có quyền truy cập vào. Tại thư mục Admin, thêm file master page Admin2.master Tạo trang đăng nhập người quản trị: tạo stored procedure AdminLogin_Select. Thực hiện tầng data access layer: tại project PNJSilver.DataAccess: khai báo stored procedure AdminLogin_Select cho lớp StoredProcedure, thêm file lớp AdminLoginSelectData.cs vào thư mục Select Thực hiện tầng business logic layer: tại project PNJSilver.BusinessLogic, thêm lớp ProcessAdminLogin Thực hiện tầng Presentation Layer: tại web project è thư mục Admin, thêm file Dangnhap.aspx, file này không kết hợp với file master page Tạo trang liệt kê các sản phẩm: tại đây ta không cần thực hiện stored procedure, các lớp cho tầng data access layer hay business logic layer. Tai web project è thư mục Admin, tạo trang Products.aspx trong thư mục Admin với master page là Admin2.master. Tạo trang thêm sản phẩm mới: tạo st

Các file đính kèm theo tài liệu này:

  • docBai bao cao.doc
  • docLỜI MỞ ĐẦU.doc
  • rarWebsite_SHOP_MYPHAM.rar