Đề tài Áp dụng mô hình MVC của công ty cổ phần công nghệ thanh toán Việt Nam (Vinapay)

-Công ty cổ phần công nghệ thanh toán Việt Nam (Vinapay)- được chính thức thành lập vào tháng 2-2007 bởi nhà đầu tư nước ngoài hàng đầu thế giới là tập đoàn công nghệ Net 1, quỹ đầu tư IDG Venture và tập đoàn MK Việt Nam. Mục tiêu của Vinapay là góp phần xây dựng ở Việt Nam một hạ tầng thanh toán an toàn cho thương mại di động. -Tầm nhìn của Vinapay là mang sức mạnh và tiện ích của thương mại điện tử đến với tất cả khách hàng tại Việt Nam. Công ty luôn nỗ lực mang đến cho khách hàng thêm nhiều tiện ích trong việc mua sắm bằng việc tạo điều kiện thuận lợi khi mua hàng trực tuyến, thanh toán các nhu cầu hàng ngày bằng điện thoại di động, và cơ hội để kiếm thêm thu nhập. -Sứ mệnh của Vinapay là trở thành công ty hàng đầu trong lĩnh vực giao dịch thương mại điện tử và di động bằng việc kết hợp một nền tảng công nghệ tiên tiến được công nhận trên thế giới với mạng lưới phân phối rộng lớn trên toàn quốc.Vinapay sẽ trở thành nhà cung cấp dịch vụ tiền điện tử và giải pháp thanh toán nhằm mang đến cho khách hàng và nhà bán lẻ sự tiện lợi và an toàn trong các giao dịch chỉ với chiếc điện thoại di động hoặc máy tính nối mạng Internet.

pdf57 trang | Chia sẻ: franklove | Lượt xem: 2588 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Đề tài Áp dụng mô hình MVC của công ty cổ phần công nghệ thanh toán Việt Nam (Vinapay), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1 Luận văn Áp dụng mô hình MVC của Công ty cổ phần công nghệ thanh toán Việt Nam (Vinapay) 2 Lời mở đầu Bước sang thế kỉ 21, sự bùng nổ về công nghệ thông tin, thế giới số đã giúp ích cho con người trong rất nhiều lĩnh vực kinh tế, xã hội, quốc phòng,an ninh…Công việc của con người ngày càng phức tạp nhằm đáp ứng nhu cầu cuộc sống ngày càng cao của xã hội, chính vì vậy bài toán đặt ra là phải làm sao quản lý nhân sự một cách chặt chẽ và hợp lý trong tất cả các ngành nghề như: y tế, giao thông, quốc phòng …chứ không chỉ riêng trong kinh doanh sản xuất. Xuất phát từ nhu cầu thiết thực của nhiều công ty hiện nay, trong đợt thực tập vừa qua, em đã nghiên cứu và xây dựng một phần mềm về quản lý nhân sự ở công ty Vinapay. 3 Chương I.GIỚI THIỆU VỀ CÔNG TY THỰC TẬP VÀ MỤC ĐÍCH XÂY DỰNG PHẦN MỀM. I. Giới thiệu công ty 1.Giới thiệu công ty: -Công ty cổ phần công nghệ thanh toán Việt Nam (Vinapay)- được chính thức thành lập vào tháng 2-2007 bởi nhà đầu tư nước ngoài hàng đầu thế giới là tập đoàn công nghệ Net 1, quỹ đầu tư IDG Venture và tập đoàn MK Việt Nam. Mục tiêu của Vinapay là góp phần xây dựng ở Việt Nam một hạ tầng thanh toán an toàn cho thương mại di động. -Tầm nhìn của Vinapay là mang sức mạnh và tiện ích của thương mại điện tử đến với tất cả khách hàng tại Việt Nam. Công ty luôn nỗ lực mang đến cho khách hàng thêm nhiều tiện ích trong việc mua sắm bằng việc tạo điều kiện thuận lợi khi mua hàng trực tuyến, thanh toán các nhu cầu hàng ngày bằng điện thoại di động, và cơ hội để kiếm thêm thu nhập. -Sứ mệnh của Vinapay là trở thành công ty hàng đầu trong lĩnh vực giao dịch thương mại điện tử và di động bằng việc kết hợp một nền tảng công nghệ tiên tiến được công nhận trên thế giới với mạng lưới phân phối rộng lớn trên toàn quốc.Vinapay sẽ trở thành nhà cung cấp dịch vụ tiền điện tử và giải pháp thanh toán nhằm mang đến cho khách hàng và nhà bán lẻ sự tiện lợi và an toàn trong các giao dịch chỉ với chiếc điện thoại di động hoặc máy tính nối mạng Internet. -Cam kết của Vinapay Cung cấp dịch vụ nhanh chóng, an toàn và tiện lợi cho tất cả mọi người, ở mọi nơi và trong bất kì thời gian nào.Cho dù bạn đang ở đâu, dịch vụ của công ty luôn sẵn sàng với phương châm “Vinapay-Sức mạnh niềm tin”. 4 -Chiến lược Ngày 25-12-2007 Vinapay đã chính thức đưa ra thị trường dịch vụ MrTopUp (www.mrtopup.com.vn). Bằng việc sử dụng đội ngũ bán hàng là cầu nối với các nhà phân phối cho phép công ty xây dựng hệ thống phân phối với mục tiêu đạt 24.000 điểm vào cuối năm 2008. Thông qua hệ thống phân phối này, Vinapay sẽ triển khai bán Vcash, một hình thức tiền điện tử cho phép người dùng có thế mua mã thẻ trả trước điện thoại di động, mã games online, thanh toán trực tuyến, chuyển và nhận tiền, đồng thời có thể quản lý tài khoản và các giao dịch thông qua ứng dụng MrTopUp trên điện thoại di động hoặc trên Internet. -Lợi nhuận của Vinapay được thu tử 3 khoản chính, bán mã thẻ trả trước, phí giao dịch khi thanh toán hoặc chuyển Vcash và tiền lãi. Thời gian đầu, nạp tiền điện thoại di động trả trước sẽ cung cấp phần lớn lợi nhuận cho doanh nghiệp, nhưng đến cuối năm đầu tiên đưa MrTopUp ra thị trường, lợi nhuận sẽ đến từ phí giao dịch. Đến năm thứ 2 trở đi, lượng khách hàng sử dụng Vcash sẽ tạo ra một lượng vốn lớn và cho phép công ty thu lãi từ số vốn này. -Lợi thế so sánh của Vinapay bao gồm nền tảng công nghệ được cấp phép từ Net 1và lượng vốn lớn từ các nhà đầu tư nước ngoài để triển khai kế hoạch tiếp thị và quảng cáo. Công ty sử dụng một nền tảng công nghệ đạt tiêu chuẩn hiện đại và tính bảo mật cao đã triển khai thành công ở Nam Phi, Phillippin và Columbia a trong những năm qua. Khi đến Việt Nam, đội ngũ kĩ sư hàng đầu của công ty đã điều chỉnh và sáng tạo cho phù hợp với số lượng người dùng điện thoại di động ngày một cao tại Việt Nam. Điều quan trọng nhất trong công ty là vấn đề bảo mật. Như khẩu hiệu “Vinapay -Sức mạnh niềm tin” , và nhìn xa và rộng hơn, cái công ty kinh doanh là niềm tin và sự tín nhiệm. 5 2. Đội ngũ quản lý: -Ông Nguyễn Trọng Khang là sáng lập viên và là Chủ tịch Hội đồng quản trị của Vinapay. Bắt đầu sự nghiệp với vị trí là Giám đốc phát triển kinh doanh tại văn phòng đại diện Renong (Malaysia) tại Hà Nội (1992- 1997), ông Khang tích lũy được kinh nghiệm phát triển dự án, quản lý dự án và kinh doanh thương mại. Năm 1999, ông bắt đầu khởi nghiệp kinh doanh với công ty MK Technology Group và phát triển nó trở thành một trong những công ty hàng đầu về lĩnh vực công nghệ và dịch vụ thẻ. Ông Khang có bằng cao học tại Henley Management College (Anh quốc), và bằng MBA tại đại học Boise State (Mỹ). Ông được vinh danh với nhiêu giải thưởng trong kinh doanh và nhiều đóng góp trong lĩnh vực công nghiệp trẻ và Công nghệ thông tin Việt Nam. -Ông Hoàng Kim Chương là Phó tổng Giám đốc Quan hệ đối tác. Ông bắt đầu sự nghiệp với vị trí là kĩ sư dầu khí tại Petechim vào năm 1986 ở Vũng Tàu. Ông gia nhập công ty Café Trung Nguyên từ năm 2003-2005, với vị trí Giám đốc Tiếp thị và Bán hàng cho bộ phận Kinh doanh quốc tế. Ông có bằng MBA tại đại học Boise State (Mỹ) và bằng Thạc sỹ khoa học tại Đại học dầu khí Quốc gia Mátxcơva, Liên bang Nga. Ông sử dụng thành thạo tiếng Việt, Anh, Nga. -Ông Đỗ Việt Hà khởi đầu sự nghiệp với vị trí là chuyên gia thiết kế đồ họa video với công ty công nghệ Miranda Technology tại Quebec, Canada,năm 1998 nơi ông nhận bằng thạc sĩ về kĩ sư điện tử máy tính. Ông trở về Việt Nam năm 2004 và trở thành Giám đốc cho nhiều dự án của tổ chức Lux Development, một chương trình được chính phủ Lucxemburg tài trợ vốn. 6 Ông Hà gia nhập Vinapay năm 2007 với vị trí là Phó tổng Giám đốc Vận hành hệ thống. -Bà Nguyễn Hương Giang với vai trò là Giám đốc Bán hàng và tiếp thị, bà Giang phụ trách chiến lược tiếp thị cho Vinapay cũng như phát triển đội ngũ kinh doanh cho công ty. Bà có bằng cử nhân tại học viện Quan hệ quốc tế tại Việt Nam. 3.Lĩnh vực hoạt động chính: -Sản xuất và phát triển các loại thẻ dữ liệu công nghệ cao (bao gồm thẻ thông minh có gắn chip, thẻ cào có mệnh giá trả trước, thẻ quản lý tài khoản, thẻ SIM phục vụ dịch vụ thương mại điện tử…). -Nghiên cứu, phát triển và thực hiện các dịch vụ công nghệ cao có liên quan đến thanh toán thương mại điện tử (e-commerce) , thương mại di động (m-commerce), thẻ trả trước, thẻ thông minh. -Sản xuất và phát triển phần mềm công nghệ cao. -Vận hành cổng điện tử, chuyển mạch để thực hiện kết nối các hệ thống thanh toán thẻ ngân hàng, thẻ thanh toán, thẻ trả trước của các đơn vị phát hành thẻ, cho phép người sử dụng điện thoại di động nạp tiền, trả trước thông qua điện thoại di động hoặc Internet. -Lắp đặt, bảo trì, cho thuê các hệ thống thiết bị phát hành thẻ, các loại máy chấp nhận thanh toán như ATM, máy đọc và chấp nhận thanh toán đầu cuối (POS). II.Mục đích xây dựng chương trình: 1.Mục đích xây dựng chương trình: -Việc tin học hoá Tổ chức quản lý nhân sự mang lại nhiều lợi ích hơn so với quản lý thủ công. Quản lý thông tin về cán bộ, công nhân viên là một 7 bài toán quan trọng và có nhiều ứng dụng trong việc quản lý nguồn nhân lực, chính sách cán bộ …nhằm đưa ra các quyết định trong lĩnh vực xây dựng đội ngũ lao động đủ khả năng và trình độ đáp ứng các nhu cầu trong giai đoạn mới. Với những ưu điểm vượt trội: 1.Bộ máy quản lý nhân sự gọn nhẹ, chỉ cần số ít nhân viên với hệ thống máy vi tính . 2.Tổ chức quản lý, lưu trữ trên hệ thống máy vi tính làm tăng tính an toàn, bảo mật cao hơn. 3.Phù hợp với các ứng dụng triển khai trên diện rộng. 4.Chi phí ban đầu ít nhất vì chỉ phải triển khai trên máy chủ. 5.Dễ dàng phát triển ứng dụng, tất cả các ứng dụng chỉ phải triển khai trên máy chủ, do vậy dễ bảo trì, phát triển hệ thống. 6.Không phụ thuộc vào phạm vi ứng dụng. Việc mở rộng ít tốn kém nhất. 7.Đào tạo sử dụng chương trình ít tốn kém nhất. 8.Dễ dàng tích hợp với các ứng dụng khác trên môt Website. 2.Tổng quan về chương trình: *Các chức năng chính: -Cập nhập hồ sơ nhân viên : Khi tuyển mới nhân viên thì cập nhập sơ yếu lí lịch và lí lịch công chức viên chức. -Cập nhập các biến động trong quá trình công tác: Khi một cán bộ được tăng lương, lên chức, thay đổi công việc, đi nước ngoài, đi học, chuyển đơn vị công tác trong phạm vi tổ chức của cơ quan thì thông tin của các sự kiện này được lưu trong hồ sơ. -Quản lý các vấn đề lien quan đến nhân viên: +Quá trình lương. +Quá trình công tác. +Quá trình học tập. 8 +Quá trình khen thưởng, kỉ luật. +Quan hệ gia đình. +Ngoại ngữ. -Phân tích và báo cáo tình hình nhân sự: Đưa ra các thống kê để phân tích các hiện tượng cần điều chỉnh. Ví dụ: Có nhiều cán bộ cao tuổi dẫn đến cần chuẩn bị lực lượng kế tục. Số lượng nhân viên tăng giảm theo từng tháng nhiều hay ít để điều chỉnh, phân công công việc một cách hợp lý. -Tìm kiếm, tra cứu thông tin về nhân sự theo một tiêu chí nào đó để phục vụ cho một số trường hợp, VD như liệt kê các cán bộ theo một chuyên ngành nào đó có trình độ như thế nào, nhân viên Sale có trình độ bằng cấp như thế nào, nhân viên marketting biết những ngoại ngữ gì, một ngày môi giới được bao nhiêu khách hàng… -Quản trị hệ thống: Chương trình được xây dựng trên cơ sở các đối tượng sử dụng được phân quyền truy cập vào từng phần hết sức chặt chẽ. Người quản trị hệ thống có quyền cao nhất, có quyền cấp (thu) quyền sử dụng chương trình cho những người khác. 9 Chương II. TỔNG QUAN VỀ MÔ HÌNH MODEL-VIEW- CONTROLLER (MVC). I.Giới thiệu mô hình MVC: 1.Thiết kế MVC: -MVC là viết tắt của Model-View-Controller. Phương pháp thiết kế MVC là phương pháp chia nhỏ một ứng dụng thành nhiều lớp hoặc chia nhỏ phần giao diện người dùng (User Interface) của một ứng dụng thành 3 phần chính là Model, View và Controller. -Model (tạm dịch là phần “Mô hình”) là một đối tượng hoặc tập hợp các đối tượng biểu diển cho phần dữ liệu của chương trình, ví dụ: các dữ liệu được lưu trong cơ sở dữ liệu hay từ các hệ thống ứng dụng khác (như mail…). -View (tạm dịch là phần “Hiển thị”): Là phần giao diện với người dùng, bao gồm việc hiện dữ liệu ra màn hình, cung cấp các menu, nút bấm, hộp đối thoại, chọn lựu…, để người dùng có thể thêm, xóa, sửa, tìm kiếm và làm các thao tác khác đối với dữ liệu trong hệ thống. -Controller (tạm dịch là phần “Điều khiển”): Là phần điều khiển toàn bộ logic về hoạt động của giao diện, tương tác với thao tác của người dùng (từ chuột, bàn phím và các thiết bị ngoại vi khác) và cập nhật, thao tác trên dữ liệu theo đầu vào nhận được và điều khiển việc chọn phần “Hiển thị” thích hợp để truyền dữ liệu tới người dùng. -Với phương pháp thiết kế này, các chức năng hiển thị, chức năng logic điều khiển và chức năng truy cập dữ liệu của chương trình được chia thành các phần riêng biệt. Java là một ngôn ngữ lập trình hướng đối tượng 10 thuần túy nên việc áp dụng MVC vào các phần mếm viết bằng Java rất dễ dàng và thuận tiện. Có hai hình mẫu chính của phương pháp thiết kế MVC trong Java là MVC model 1 và MVC model 2.Trong MVC model 1, các trang JSP đóng vai trò “Hiển thị” (View) và “Điều khiển” (Controller). Có thể có nhiều trang JSP khác nhau đóng các vai trò khác nhau. -Thao tác của người dùng trên trình duyệt web được gửi tới một trang JSP. Trang JSP này sẽ khởi tạo một hoặc nhiều Java Bean (nếu cần thiết), truyền các lệnh cần thi hành tới Java Bean (không phải Enterprise Java Bean). -Sau khi Java Bean thực hiện xong việc truy xuất hoặc cập nhập dữ liệu, trang JSP ban đầu có thể hiển thị dữ liệu lấy từ Bean (JSP ban đầu đóng luôn vai trò View), hoặc chọn một trang JSP khác để hiện dữ liệu từ Bean (JSP ban đầu đóng luôn vai trò Controller). Trong một thiết kế tốt, để đảm bảo việc tách rời phần trình bày và logic của chương trình, trang JSP nhận yêu cầu chỉ đóng vai trò “Điều khiển” (Contronller). -MVC model 1 có một nhược điểm là phần logic điều khiển được viết trong trang JSP, như vậy phần chương trình Java phức tạp dùng để điều khiển sẽ bị lẫn vào trong mã HTML dùng để trình bày. Độ phức tạp của chương trình càng cao, thì trang JSP càng khó phát triển và bảo trì. Hơn nữa, trong các dự án phức tạp, phần hiển thị do người thiết kế web giỏi về HTML và đồ họa thực hiện, còn phần điều khiển được người chuyên về lập trình thực hiện. Dùng JSP làm phần điều khiển sẽ khó phân ranh giới trách nhiệm giữa nhóm thiết kế đồ họa và nhóm lập trình. Để khắc phục nhược điểm này, MVC model 2 ra đời. Trong MVC model 2, một hoặc nhiều servlet (thường là một) đóng vai trò điều khiển, các Java Bean đóng vai trò mô hình và các trang JSP đóng vai trò hiển thị. 11 -Trong model 2, các logic phức tạp của chương trình được viết hoàn toàn trong các servlet (chương trình Java). Phần hiển thị chỉ gồm các trang JSP với một vài mã đơn giản để lấy dữ liệu có sẵn, không có logic phức tạp, vì thế hoàn toàn có thể giao cho người thiết kế web. Các yêu cầu của người dùng được gửi từ trình duyệt web tới servlet. Servlet sẽ khởi tạo Java Bean (nếu cần thiết), ra lệnh thu nhập, cập nhập thông tin. Khi Java Bean hoàn thành công việc, servlet sẽ chọn trang JSP thích hợp để hiện thông tin trong Java Bean cho người dùng. Đây là cách sử dụng MVC rất hiệu quả trong Java. Tất nhiên, sử dụng MVC model 2 một cách hoàn toàn cứng nhắc, phần “Điều khiển” chỉ dùng servlet, phần “Hiển thị” chỉ dùng JSP sẽ dãn đến một vài trường hợp kém hiệu quả, nhất là khi các yêu cầu từ trình duyệt web chỉ đòi hỏi việc hiển thị thông tin. Trong trường hợp này, gửi thẳng yêu cầu hiển thị từ trình duyệt web tới trang JSP sẽ hiệu quả hơn. Trong cách áp dụng MVC này, các yêu cầu có liên quan đến logic chương trình hoặc truy cập dữ liệu sẽ gửi tới servlet controller, còn các yêu cầu chỉ liên quan tới hiển thị sẽ được gửi tới JSP controller. 12 CHƯƠNG III.PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG I. Giới thiệu : -Phân tích và thiết kế hệ thống nhằm hiểu rõ chu kỳ phát triển hệ thống, nghiên cứu sơ bộ, mô hình hóa yêu cầu, dữ liệu và quá trình, mô hình hóa đối tượng, thiết kế nhập xuất và giao diện người sử dụng, thiết kế dữ liệu, kiến trúc ứng dụng, thực hiện, cài đặt, vận hành và hỗ trợ hệ thống. II. Phân tích hệ thống theo Chức năng 1.Quản lý người dùng -Là chức năng quản lý người dùng hay đăng nhập vào hệ thống, với mỗi user này đều có username và password riêng. Quản lý người dùng(user) gồm 2 chức năng chính: a. Hiển thị danh sách người dùng b. Thêm, Sửa, Xoá người dùng. 13 2.Quản lý thư mục - Là chức năng quản lý thư mục của hệ thống, mỗi thư mục là một chức năng riêng, có một đường liên kết tới chức năng của thư mục đó. Quản lý thư mục gồm 2 chức năng chính: a. Hiển thị danh sách thư mục. b. Thêm, Sửa, Xoá thư mục. 3.Quản lý Phân quyền -Là chức năng phân quyền người dùng, chức năng này phụ thuộc vào 2 đối tượng “Người dùng” và “Thư mục”. Mỗi người dùng sẽ sử dụng một số các thư mục, các thư mục khác không có quyền sử dụng sẽ không được hiên ra trên giao diện người dùng. Phân quyền gồm 2 chức năng chính: a. Hiện thị danh sách Phân Quyền. b. Thêm sửa xoá Phần Quyền với Người Dùng. 4.Quản lý Nhân viên -Là chức năng chính trong hệ thống, quản lý nhân sự trong doanh nghiệp vinapay. Gồm 2 chức năng chính: a. Hiển thị danh sách nhân viên. b. Thêm, sửa, xoá nhân viên. III. Phân tích hệ thống theo sơ đồ luồng dữ liệu 1.Sơ đồ luồng dữ liệu mức ngữ cảnh 14 2.Sơ đồ luồng dữ liệu mức đỉnh : 15 3.Sơ đồ luồng dữ liệu mức dưới đỉnh: a. Chức năng quản lý người dùng: Hiển thị danh sách Người Dùng Thêm, Sửa, Xoá Người Dùng Người dùng Yêu cầu Người dùng User, Password ID,User,Pass ID Nguoi dung Báo cáo User, Password Phân Quyền b. Chức năng quản lý thư mục Hiển thị danh sách Thư mục Thêm, Sửa, Xoá Thư mục Người dùng Yêu cầu ID,Tên,liênkết ID,Tên, liênkết ID Thư mục Báo cáo ID,Tên,Liên kết Phân Quyền Thư mục 16 c. Chức năng phân quyền: d. Chức năng quản lý Nhân viên: 17 4.Sơ đồ luồng dữ liệu tổng quát: -Quản lý tài khoản của nhân viên trong công ty. 18 -Quản lý nhân viên trong công ty: VI.Các bảng cơ sở dữ liệu dùng trong chương trình: a.Bảng Tài khoản : 19 b.Bảng Thư mục_Tài khoản : c.Bảng Nhân viên : 20 d.Bảng Thư mục: 21 CHƯƠNG IV.CẤU TRÚC CHƯƠNG TRÌNH ĐƯỢC ÁP DỤNG MÔ HÌNH MVC Chương trình được cấu trúc gồm 3 phần,đúng với cấu trúc của mô hình MVC,gồm các phần như sau: I.View(Interface_Hiển thị): 1.Truy cập vào web: *Login: -phần này người quản lý hệ thống dùng để đăng nhập vào chương trình: *Giao diện: 22 *code: 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; public partial class Interface_AccessWebsite_login : System.Web.UI.Page { private AccountDB objAccountDB = new AccountDB(); protected void Page_Load(object sender, EventArgs e) { } public string GetApplicationPath() { string applicationPath = ""; if (this.Page.Request.Url != null) applicationPath = this.Page.Request.Url.AbsoluteUri.Substring( 0, this.Request.Url.AbsoluteUri.ToLower().IndexOf( this.Request.ApplicationPath.ToLower(), this.Request.Url.AbsoluteUri.ToLower().IndexOf( this.Page.Request.Url.Authority.ToLower()) + this.Page.Request.Url.Authority.Length) + this.Request.ApplicationPath.Length); return applicationPath; } protected void btnLogin_Click(object sender, EventArgs e) { string strUsername = this.txtUsername.Text; string strPassword = this.txtPassword.Text; AccountDetails objAccountDetails = new AccountDetails(strUsername, strPassword); int intCount = objAccountDB.CheckAccount(objAccountDetails); Session["sesUsername"] = strUsername; Session["sesPassword"] = strPassword; if (intCount == -1) { Response.Write(objAccountDB.ErrorDetail); 23 Response.Write(""); return; } if (intCount != 0) { Response.Redirect(GetApplicationPath() + "/Interface/home.aspx?page=interface/wellcome.aspx"); } Response.Write("don't access right!"); } } a.Danh sách tài khoản: *Giao diện: 24 Code: using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Interface_AccessWebsite_AccountList : System.Web.UI.Page { private AccountDB objAccountDB = new AccountDB(); private AccountDetails[] arrAccountDetails; protected void Page_Load(object sender, EventArgs e) { arrAccountDetails = objAccountDB.GetAllAccounts(); this.grdAccounts.DataSource = arrAccountDetails; grdAccounts.DataBind(); } protected string GetApplicationPath() { string applicationPath = ""; if (this.Page.Request.Url != null) applicationPath = this.Page.Request.Url.AbsoluteUri.Substring( 0, this.Request.Url.AbsoluteUri.ToLower().IndexOf( this.Request.ApplicationPath.ToLower(), this.Request.Url.AbsoluteUri.ToLower().IndexOf( this.Page.Request.Url.Authority.ToLower()) + this.Page.Request.Url.Authority.Length) + this.Request.ApplicationPath.Length); return applicationPath; } protected void grdAccounts_SelectedIndexChanged(object sender, EventArgs e) { 25 } } b.Thay đổi Mật mã: *Giao diện: *Code: public partial class Interface_AccessWebsite_ChangPassword : System.Web.UI.Page { private AccountDB objAccountDB = new AccountDB(); private AccountDetails objAccountDetails = new AccountDetails(); protected void Page_Load(object sender, EventArgs e) { } public string GetApplicationPath() { string applicationPath = ""; i