├── ECommerceMVC ├── Views │ ├── _ViewStart.cshtml │ ├── _ViewImports.cshtml │ ├── Home │ │ ├── Privacy.cshtml │ │ ├── Index.cshtml │ │ └── PageNotFound.cshtml │ ├── Shared │ │ ├── _ValidationScriptsPartial.cshtml │ │ ├── _TimKiemPanel.cshtml │ │ ├── Components │ │ │ ├── Cart │ │ │ │ └── CartPanel.cshtml │ │ │ └── MenuLoai │ │ │ │ └── Default.cshtml │ │ ├── Error.cshtml │ │ ├── _Copyright.cshtml │ │ └── _Layout.cshtml.css │ └── HangHoa │ │ ├── Search.cshtml │ │ ├── Index.cshtml │ │ └── ProductItem.cshtml ├── wwwroot │ ├── scss │ │ ├── bootstrap │ │ │ └── scss │ │ │ │ ├── helpers │ │ │ │ ├── _clearfix.scss │ │ │ │ ├── _text-truncation.scss │ │ │ │ ├── _visually-hidden.scss │ │ │ │ ├── _stretched-link.scss │ │ │ │ ├── _colored-links.scss │ │ │ │ ├── _ratio.scss │ │ │ │ └── _position.scss │ │ │ │ ├── mixins │ │ │ │ ├── _clearfix.scss │ │ │ │ ├── _lists.scss │ │ │ │ ├── _color-scheme.scss │ │ │ │ ├── _text-truncate.scss │ │ │ │ ├── _resize.scss │ │ │ │ ├── _container.scss │ │ │ │ ├── _alert.scss │ │ │ │ ├── _image.scss │ │ │ │ ├── _box-shadow.scss │ │ │ │ ├── _reset-text.scss │ │ │ │ ├── _list-group.scss │ │ │ │ ├── _deprecate.scss │ │ │ │ ├── _transition.scss │ │ │ │ ├── _pagination.scss │ │ │ │ ├── _table-variants.scss │ │ │ │ ├── _visually-hidden.scss │ │ │ │ ├── _caret.scss │ │ │ │ ├── _gradients.scss │ │ │ │ └── _border-radius.scss │ │ │ │ ├── _helpers.scss │ │ │ │ ├── forms │ │ │ │ ├── _form-text.scss │ │ │ │ ├── _validation.scss │ │ │ │ ├── _labels.scss │ │ │ │ ├── _floating-labels.scss │ │ │ │ └── _form-select.scss │ │ │ │ ├── _forms.scss │ │ │ │ ├── _grid.scss │ │ │ │ ├── _transitions.scss │ │ │ │ ├── bootstrap-utilities.scss │ │ │ │ ├── _root.scss │ │ │ │ ├── _badge.scss │ │ │ │ ├── bootstrap-reboot.scss │ │ │ │ ├── _breadcrumb.scss │ │ │ │ ├── _mixins.scss │ │ │ │ ├── bootstrap.scss │ │ │ │ ├── _close.scss │ │ │ │ ├── _images.scss │ │ │ │ ├── _containers.scss │ │ │ │ ├── _progress.scss │ │ │ │ ├── _toasts.scss │ │ │ │ ├── bootstrap-grid.scss │ │ │ │ ├── _alert.scss │ │ │ │ ├── _spinners.scss │ │ │ │ ├── _type.scss │ │ │ │ ├── utilities │ │ │ │ └── _api.scss │ │ │ │ ├── _pagination.scss │ │ │ │ └── _offcanvas.scss │ │ └── bootstrap.scss │ ├── favicon.ico │ ├── img │ │ ├── avatar.jpg │ │ ├── baner-1.png │ │ ├── featur-1.jpg │ │ ├── featur-2.jpg │ │ ├── featur-3.jpg │ │ ├── hero-img.jpg │ │ ├── payment.png │ │ ├── hero-img-1.png │ │ ├── hero-img-2.jpg │ │ ├── single-item.jpg │ │ ├── banner-fruits.jpg │ │ ├── fruite-item-1.jpg │ │ ├── fruite-item-2.jpg │ │ ├── fruite-item-3.jpg │ │ ├── fruite-item-4.jpg │ │ ├── fruite-item-5.jpg │ │ ├── fruite-item-6.jpg │ │ ├── testimonial-1.jpg │ │ ├── best-product-1.jpg │ │ ├── best-product-2.jpg │ │ ├── best-product-3.jpg │ │ ├── best-product-4.jpg │ │ ├── best-product-5.jpg │ │ ├── best-product-6.jpg │ │ ├── vegetable-item-1.jpg │ │ ├── vegetable-item-2.jpg │ │ ├── vegetable-item-3.png │ │ ├── vegetable-item-4.jpg │ │ ├── vegetable-item-5.jpg │ │ ├── vegetable-item-6.jpg │ │ └── cart-page-header-img.jpg │ ├── Hinh │ │ ├── Loai11.jpeg │ │ ├── divider.gif │ │ ├── HangHoa │ │ │ ├── To.gif │ │ │ ├── 1009.gif │ │ │ ├── Camera1.jpg │ │ │ ├── 415cOCbey.jpg │ │ │ ├── 31ioCUUFnoL.jpg │ │ │ ├── 415cOCbeyML.jpg │ │ │ ├── 416pdroSEkL.jpg │ │ │ ├── 41KALboJKuL.jpg │ │ │ ├── 41XX7Pi240L.jpg │ │ │ ├── 41sl3FN6NpL.jpg │ │ │ ├── 41w4TlVPhGL.jpg │ │ │ ├── 51nukXFJLJL.jpg │ │ │ ├── 31YOss-gC-L._AA300_.jpg │ │ │ ├── 31hCgES5GXL._AA300_.jpg │ │ │ ├── 410PjzqoC8L._AA300_.jpg │ │ │ ├── 416OcTXFfeL._AA300_.jpg │ │ │ ├── 419WCoqfamL._AA300_.jpg │ │ │ ├── 41A9R5KXCXL._AA300_.jpg │ │ │ ├── 41Pg1ahql8L._AA300_.jpg │ │ │ ├── 41Z43OmFHjL._SX342_.jpg │ │ │ ├── 41lffECD-sL._SY445_.jpg │ │ │ ├── 41sw9ASUvBL._SX342_.jpg │ │ │ ├── 5195-l+nflL._AA300_.jpg │ │ │ ├── 513UnnRfFML._SL1001_.jpg │ │ │ ├── 51JhyHtnEgL._SL1001_.jpg │ │ │ ├── 71bJrFAys9L._SL1280_.jpg │ │ │ ├── 71cBwWAgvIL._SL1430_.jpg │ │ │ ├── 816zGZv1ORL._SL1500_.jpg │ │ │ ├── 81Q1DvOnnoL._SL1500_.jpg │ │ │ ├── 81k1XbQ6nQL._SL1500_.jpg │ │ │ ├── 91FM0Hog9FL._SL1500_.jpg │ │ │ ├── 91JUBDf1jTL._AA1500_.jpg │ │ │ ├── 91T2BjUkYmL._SL1500_.jpg │ │ │ ├── 31yxRemzRLL._SS350_ (1).jpg │ │ │ ├── 21meTyhQebL._SL500_AA300_.jpg │ │ │ ├── 31EPGSm2s1L._SL500_AA300_.jpg │ │ │ ├── 31LAnW1JFqL._SL500_AA300_.jpg │ │ │ ├── 31TB6tC6BOL._SL500_AA300_.jpg │ │ │ ├── 31jsjfVfH9L._SL500_AA300_.jpg │ │ │ ├── 31ncPnMYCxL._SL500_AA300_.jpg │ │ │ ├── 31pAGovVENL._SL500_AA300_.jpg │ │ │ ├── 31pT+SdvQXL._SL500_AA300_.jpg │ │ │ ├── 41-yvkFqVZL._SL500_AA300_.jpg │ │ │ ├── 41BiMx1FKyL._SL500_AA300_.jpg │ │ │ ├── 41CIcYRxJKL._SL500_AA300_.jpg │ │ │ ├── 41G38jC0ajL._SL500_AA300_.jpg │ │ │ ├── 41GVLtgNngL._SL500_AA300_.jpg │ │ │ ├── 41IPLmZIKhL._SL500_AA300_.jpg │ │ │ ├── 41LMouG6j7L._SL500_AA300_.jpg │ │ │ ├── 41MJUdI2jdL._SL500_AA300_.jpg │ │ │ ├── 41RxtSQOd2L._SL500_AA300_.jpg │ │ │ ├── 41TexqWVkHL._SL500_AA300_.jpg │ │ │ ├── 41V4Ds2PtZL._SL500_AA300_.jpg │ │ │ ├── 41WvZnGYUkL._SL500_AA300_.jpg │ │ │ ├── 41Ymq8fjbOL._SL500_AA300_.jpg │ │ │ ├── 41ZE9SmWdzL._SL500_AA300_.jpg │ │ │ ├── 41brDHtPY9L._SL500_AA300_.jpg │ │ │ ├── 41iDo0HDhbL._SL500_AA300_.jpg │ │ │ ├── 41iji4-9UsL._SL500_AA300_.jpg │ │ │ ├── 41qfgTvFBwL._SL500_AA300_.jpg │ │ │ ├── 41qlcUEhNmL._SL500_AA300_.jpg │ │ │ ├── 41riQRGf-6L._SL500_AA300_.jpg │ │ │ ├── 41sd2DTD8EL._SL500_AA300_.jpg │ │ │ ├── 41sdBTtnUDL._SL500_AA300_.jpg │ │ │ ├── 41wHu2N4tVL._SL500_AA300_.jpg │ │ │ ├── 41yh1vBmqsL._SL500_AA300_.jpg │ │ │ ├── 41zxxR71G+L._SL500_AA300_.jpg │ │ │ ├── 51+4d3VBFvL._SL500_AA300_.jpg │ │ │ ├── 515p1IeP0-L._SL500_AA300_.jpg │ │ │ ├── 51GBNkHO6vL._SL500_AA300_.jpg │ │ │ ├── 51Lj5bxbNtL._SL500_AA300_.jpg │ │ │ ├── 51Z9tfgl4aL._SL500_AA300_.jpg │ │ │ ├── 51czOOat0OL._SL500_AA300_.jpg │ │ │ ├── 51l46qQB50L._SL500_AA300_.jpg │ │ │ ├── 51pvLIvb6ZL._SL500_AA300_.jpg │ │ │ ├── 51s6pbRlNyL._SL500_AA300_.jpg │ │ │ ├── 51uJ-pWfc9L._SL500_AA300_.jpg │ │ │ ├── 51vxcBS1sQL._SL500_AA300_.jpg │ │ │ ├── 51w+JqOnmSL._SL500_AA300_.jpg │ │ │ ├── 51y46IslQkL._SL500_AA300_.jpg │ │ │ └── 51yomC0EodL._SL500_AA300_.jpg │ │ ├── Loai │ │ │ ├── Alarm.png │ │ │ ├── Bell.png │ │ │ ├── Best.png │ │ │ ├── Bomb.png │ │ │ ├── Buddy.png │ │ │ ├── Dice.png │ │ │ ├── Funny.png │ │ │ ├── Heart.png │ │ │ ├── Accept.png │ │ │ ├── Anchor.png │ │ │ ├── Bricks.png │ │ │ ├── Dollar.png │ │ │ ├── Unlock.png │ │ │ ├── Billboard.png │ │ │ ├── Favourites.png │ │ │ ├── Microsoft.png │ │ │ ├── agenda_1.jpg │ │ │ ├── Brick house.png │ │ │ └── Certificate.png │ │ ├── icons │ │ │ ├── Add.png │ │ │ ├── Bell.png │ │ │ ├── Best.png │ │ │ ├── Bomb.png │ │ │ ├── Book.png │ │ │ ├── Box.png │ │ │ ├── Boy.png │ │ │ ├── Call.png │ │ │ ├── Cat.png │ │ │ ├── Coin.png │ │ │ ├── Date.png │ │ │ ├── Dice.png │ │ │ ├── Dog.png │ │ │ ├── Down.png │ │ │ ├── Edit.png │ │ │ ├── Euro.png │ │ │ ├── Exit.png │ │ │ ├── Fax.png │ │ │ ├── Free.png │ │ │ ├── Gear.png │ │ │ ├── Gift.png │ │ │ ├── Girl.png │ │ │ ├── Help.png │ │ │ ├── Home.png │ │ │ ├── Info.png │ │ │ ├── Key.png │ │ │ ├── Left.png │ │ │ ├── List.png │ │ │ ├── Lock.png │ │ │ ├── Mail.png │ │ │ ├── No.png │ │ │ ├── OK.png │ │ │ ├── Pets.png │ │ │ ├── RSS.png │ │ │ ├── Sad.png │ │ │ ├── Safe.png │ │ │ ├── Save.png │ │ │ ├── Stop.png │ │ │ ├── Text.png │ │ │ ├── Tick.png │ │ │ ├── Up.png │ │ │ ├── User.png │ │ │ ├── Yen.png │ │ │ ├── Zoom.png │ │ │ ├── eng.gif │ │ │ ├── vit.gif │ │ │ ├── Accept.png │ │ │ ├── Alarm.png │ │ │ ├── Anchor.png │ │ │ ├── Basket.png │ │ │ ├── Bricks.png │ │ │ ├── Bubble.png │ │ │ ├── Buddy.png │ │ │ ├── Cable.png │ │ │ ├── Camera.png │ │ │ ├── Clock.png │ │ │ ├── Coins.png │ │ │ ├── Create.png │ │ │ ├── Delete.png │ │ │ ├── Dollar.png │ │ │ ├── Funny.png │ │ │ ├── Globe.png │ │ │ ├── Happy.png │ │ │ ├── Heart.png │ │ │ ├── Hungup.png │ │ │ ├── Label.png │ │ │ ├── Letter.png │ │ │ ├── Lists.png │ │ │ ├── Login.png │ │ │ ├── Money.png │ │ │ ├── Mouse.png │ │ │ ├── Music.png │ │ │ ├── Notes.png │ │ │ ├── Online.png │ │ │ ├── Peace.png │ │ │ ├── Phone.png │ │ │ ├── Piggy.png │ │ │ ├── Pound.png │ │ │ ├── Print.png │ │ │ ├── Report.png │ │ │ ├── Right.png │ │ │ ├── Rouble.png │ │ │ ├── Search.png │ │ │ ├── Shield.png │ │ │ ├── Smile.png │ │ │ ├── Trash.png │ │ │ ├── Unlock.png │ │ │ ├── Upload.png │ │ │ ├── Users.png │ │ │ ├── Wallet.png │ │ │ ├── Wizard.png │ │ │ ├── Bar chart.png │ │ │ ├── Billboard.png │ │ │ ├── Bluetooth.png │ │ │ ├── Bookmark.png │ │ │ ├── Calendar.png │ │ │ ├── Card file.png │ │ │ ├── Clipboard.png │ │ │ ├── Comment.png │ │ │ ├── Comments.png │ │ │ ├── Company.png │ │ │ ├── Computer.png │ │ │ ├── Connect.png │ │ │ ├── Contrast.png │ │ │ ├── Database.png │ │ │ ├── Desktop.png │ │ │ ├── Diagram.png │ │ │ ├── Document.png │ │ │ ├── Documents.png │ │ │ ├── Download.png │ │ │ ├── Friends.png │ │ │ ├── Genealogy.png │ │ │ ├── Handshake.png │ │ │ ├── Hard disk.png │ │ │ ├── Hierarchy.png │ │ │ ├── Industry.png │ │ │ ├── Log out.png │ │ │ ├── Microsoft.png │ │ │ ├── Monitor.png │ │ │ ├── Open door.png │ │ │ ├── Open file.png │ │ │ ├── Open lock.png │ │ │ ├── Payment.png │ │ │ ├── Pointer.png │ │ │ ├── Printer.png │ │ │ ├── Problem.png │ │ │ ├── Red star.png │ │ │ ├── Refresh.png │ │ │ ├── Save as.png │ │ │ ├── Software.png │ │ │ ├── Task list.png │ │ │ ├── Telephone.png │ │ │ ├── Warning.png │ │ │ ├── Weather.png │ │ │ ├── Wireless.png │ │ │ ├── Yin-Yang.png │ │ │ ├── Zoom in.png │ │ │ ├── Zoom out.png │ │ │ ├── Brick house.png │ │ │ ├── Brief case.png │ │ │ ├── Brightness.png │ │ │ ├── Calculator.png │ │ │ ├── Certificate.png │ │ │ ├── Clien list.png │ │ │ ├── Closed door.png │ │ │ ├── Color wheel.png │ │ │ ├── Conference.png │ │ │ ├── Disconnect.png │ │ │ ├── Discussion.png │ │ │ ├── Exit button.png │ │ │ ├── Favourites.png │ │ │ ├── Flash drive.png │ │ │ ├── Flow block.png │ │ │ ├── Full basket.png │ │ │ ├── Lego brick.png │ │ │ ├── Open folder.png │ │ │ ├── Open letter.png │ │ │ ├── Piggy bank.png │ │ │ ├── Price list.png │ │ │ ├── Properties.png │ │ │ ├── Scroll list.png │ │ │ ├── Statistics.png │ │ │ ├── To do list.png │ │ │ ├── User group.png │ │ │ ├── Add to basket.png │ │ │ ├── Address book.png │ │ │ ├── Cash register.png │ │ │ ├── Closed folder.png │ │ │ ├── Construction.png │ │ │ ├── Control panel.png │ │ │ ├── Mobile phone.png │ │ │ ├── Numbered list.png │ │ │ ├── Print preview.png │ │ │ ├── Unknown person.png │ │ │ ├── Unordered list.png │ │ │ ├── Application form.png │ │ │ ├── Game controller.png │ │ │ └── Remove from basket.png │ │ ├── Loaiimages.jpeg │ │ ├── NhaCC │ │ │ ├── apple.jpg │ │ │ ├── nokia.jpg │ │ │ ├── amd-logo.jpg │ │ │ ├── dell-logo.jpg │ │ │ ├── hp-logo.jpg │ │ │ ├── motorola.jpg │ │ │ ├── samsung.jpg │ │ │ ├── dell-logo2.jpg │ │ │ ├── intel-logo.jpg │ │ │ ├── samsung-logo-2.jpg │ │ │ ├── shopping_cart.png │ │ │ ├── sonny-ericsson.jpg │ │ │ └── Acer_logo-300x300.gif │ │ ├── KhachHang │ │ │ ├── man.jpg │ │ │ ├── woman.jpg │ │ │ ├── Author.jpg │ │ │ ├── Penguins.jpg │ │ │ ├── android_300200.png │ │ │ └── css-position-all.png │ │ └── Others │ │ │ └── shopping_cart.png │ ├── lib │ │ ├── waypoints │ │ │ └── links.php │ │ ├── lightbox │ │ │ └── images │ │ │ │ ├── close.png │ │ │ │ ├── next.png │ │ │ │ ├── prev.png │ │ │ │ └── loading.gif │ │ ├── owlcarousel │ │ │ ├── assets │ │ │ │ ├── ajax-loader.gif │ │ │ │ ├── owl.video.play.png │ │ │ │ ├── owl.theme.green.min.css │ │ │ │ ├── owl.theme.default.min.css │ │ │ │ ├── owl.theme.green.css │ │ │ │ └── owl.theme.default.css │ │ │ └── LICENSE │ │ ├── jquery │ │ │ └── LICENSE.txt │ │ ├── jquery-validation │ │ │ └── LICENSE.md │ │ ├── bootstrap │ │ │ └── LICENSE │ │ ├── jquery-validation-unobtrusive │ │ │ └── LICENSE.txt │ │ └── easing │ │ │ └── easing.min.js │ ├── js │ │ └── site.js │ └── css │ │ └── site.css ├── Helpers │ ├── MySetting.cs │ ├── AutoMapperProfile.cs │ ├── SessionExtensions.cs │ ├── MyUtil.cs │ └── DataEncryptionExtensions.cs ├── appsettings.Development.json ├── ViewModels │ ├── CartModel.cs │ ├── MenuLoaiVM.cs │ ├── CartItem.cs │ ├── HangHoaVM.cs │ └── RegisterVM.cs ├── Models │ └── ErrorViewModel.cs ├── appsettings.json ├── Data │ ├── TrangThai.cs │ ├── TrangWeb.cs │ ├── ChuDe.cs │ ├── HoiDap.cs │ ├── Loai.cs │ ├── VChiTietHoaDon.cs │ ├── PhongBan.cs │ ├── YeuThich.cs │ ├── PhanCong.cs │ ├── ChiTietHd.cs │ ├── PhanQuyen.cs │ ├── BanBe.cs │ ├── NhaCungCap.cs │ ├── GopY.cs │ ├── NhanVien.cs │ ├── KhachHang.cs │ ├── HoaDon.cs │ └── HangHoa.cs ├── ViewComponents │ ├── CartViewComponent.cs │ └── MenuLoaiViewComponent.cs ├── Controllers │ ├── HomeController.cs │ ├── KhachHangController.cs │ ├── CartController.cs │ └── HangHoaController.cs ├── Properties │ └── launchSettings.json └── Program.cs ├── Resources ├── Hinh.zip ├── HShopScript.sql ├── vegetable-website-template.zip └── bootstrap-admin-template-free.zip ├── README.md └── ECommerceMVC.sln /ECommerceMVC/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_LayoutCustomer"; 3 | } 4 | -------------------------------------------------------------------------------- /Resources/Hinh.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/Resources/Hinh.zip -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/helpers/_clearfix.scss: -------------------------------------------------------------------------------- 1 | .clearfix { 2 | @include clearfix(); 3 | } 4 | -------------------------------------------------------------------------------- /Resources/HShopScript.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/Resources/HShopScript.sql -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/favicon.ico -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/avatar.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/Loai11.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/Loai11.jpeg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/divider.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/divider.gif -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/baner-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/baner-1.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/featur-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/featur-1.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/featur-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/featur-2.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/featur-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/featur-3.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/hero-img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/hero-img.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/payment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/payment.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/To.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/To.gif -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/Loai/Alarm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/Loai/Alarm.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/Loai/Bell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/Loai/Bell.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/Loai/Best.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/Loai/Best.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/Loai/Bomb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/Loai/Bomb.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/Loai/Buddy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/Loai/Buddy.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/Loai/Dice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/Loai/Dice.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/Loai/Funny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/Loai/Funny.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/Loai/Heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/Loai/Heart.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Add.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Bell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Bell.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Best.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Best.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Bomb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Bomb.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Book.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Box.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Boy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Boy.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Call.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Call.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Cat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Cat.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Coin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Coin.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Date.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Date.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Dice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Dice.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Dog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Dog.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Down.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Edit.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Euro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Euro.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Exit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Exit.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Fax.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Fax.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Free.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Free.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Gear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Gear.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Gift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Gift.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Girl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Girl.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Help.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Home.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Info.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Key.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Left.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/List.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/List.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Lock.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Mail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Mail.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/No.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/No.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/OK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/OK.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Pets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Pets.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/RSS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/RSS.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Sad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Sad.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Safe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Safe.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Save.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Stop.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Text.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Tick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Tick.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Up.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/User.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/User.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Yen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Yen.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Zoom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Zoom.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/eng.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/eng.gif -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/vit.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/vit.gif -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/hero-img-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/hero-img-1.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/hero-img-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/hero-img-2.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/single-item.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/single-item.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/lib/waypoints/links.php: -------------------------------------------------------------------------------- 1 | 'lib/waypoints/waypoints.min.js' 4 | ); 5 | ?> 6 | -------------------------------------------------------------------------------- /Resources/vegetable-website-template.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/Resources/vegetable-website-template.zip -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/1009.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/1009.gif -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/Loai/Accept.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/Loai/Accept.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/Loai/Anchor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/Loai/Anchor.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/Loai/Bricks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/Loai/Bricks.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/Loai/Dollar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/Loai/Dollar.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/Loai/Unlock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/Loai/Unlock.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/Loaiimages.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/Loaiimages.jpeg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/NhaCC/apple.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/NhaCC/apple.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/NhaCC/nokia.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/NhaCC/nokia.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Accept.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Accept.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Alarm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Alarm.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Anchor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Anchor.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Basket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Basket.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Bricks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Bricks.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Bubble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Bubble.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Buddy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Buddy.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Cable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Cable.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Camera.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Clock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Clock.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Coins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Coins.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Create.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Create.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Delete.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Dollar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Dollar.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Funny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Funny.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Globe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Globe.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Happy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Happy.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Heart.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Hungup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Hungup.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Label.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Label.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Letter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Letter.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Lists.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Lists.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Login.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Money.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Money.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Mouse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Mouse.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Music.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Notes.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Online.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Online.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Peace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Peace.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Phone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Phone.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Piggy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Piggy.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Pound.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Pound.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Print.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Print.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Report.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Report.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Right.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Rouble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Rouble.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Search.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Shield.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Shield.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Smile.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Trash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Trash.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Unlock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Unlock.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Upload.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Users.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Users.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Wallet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Wallet.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Wizard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Wizard.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/banner-fruits.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/banner-fruits.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/fruite-item-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/fruite-item-1.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/fruite-item-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/fruite-item-2.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/fruite-item-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/fruite-item-3.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/fruite-item-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/fruite-item-4.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/fruite-item-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/fruite-item-5.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/fruite-item-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/fruite-item-6.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/testimonial-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/testimonial-1.jpg -------------------------------------------------------------------------------- /ECommerceMVC/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using ECommerceMVC 2 | @using ECommerceMVC.Models 3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 4 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/Camera1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/Camera1.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/KhachHang/man.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/KhachHang/man.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/KhachHang/woman.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/KhachHang/woman.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/Loai/Billboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/Loai/Billboard.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/Loai/Favourites.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/Loai/Favourites.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/Loai/Microsoft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/Loai/Microsoft.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/Loai/agenda_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/Loai/agenda_1.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/NhaCC/amd-logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/NhaCC/amd-logo.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/NhaCC/dell-logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/NhaCC/dell-logo.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/NhaCC/hp-logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/NhaCC/hp-logo.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/NhaCC/motorola.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/NhaCC/motorola.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/NhaCC/samsung.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/NhaCC/samsung.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Bar chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Bar chart.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Billboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Billboard.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Bluetooth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Bluetooth.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Bookmark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Bookmark.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Calendar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Calendar.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Card file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Card file.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Clipboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Clipboard.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Comment.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Comments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Comments.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Company.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Company.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Computer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Computer.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Connect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Connect.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Contrast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Contrast.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Database.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Database.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Desktop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Desktop.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Diagram.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Document.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Document.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Documents.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Documents.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Download.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Friends.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Friends.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Genealogy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Genealogy.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Handshake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Handshake.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Hard disk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Hard disk.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Hierarchy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Hierarchy.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Industry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Industry.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Log out.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Log out.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Microsoft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Microsoft.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Monitor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Monitor.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Open door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Open door.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Open file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Open file.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Open lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Open lock.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Payment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Payment.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Pointer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Pointer.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Printer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Printer.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Problem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Problem.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Red star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Red star.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Refresh.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Save as.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Save as.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Software.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Software.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Task list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Task list.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Telephone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Telephone.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Warning.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Weather.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Weather.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Wireless.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Wireless.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Yin-Yang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Yin-Yang.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Zoom in.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Zoom in.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Zoom out.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Zoom out.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/best-product-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/best-product-1.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/best-product-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/best-product-2.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/best-product-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/best-product-3.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/best-product-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/best-product-4.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/best-product-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/best-product-5.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/best-product-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/best-product-6.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/vegetable-item-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/vegetable-item-1.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/vegetable-item-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/vegetable-item-2.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/vegetable-item-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/vegetable-item-3.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/vegetable-item-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/vegetable-item-4.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/vegetable-item-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/vegetable-item-5.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/vegetable-item-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/vegetable-item-6.jpg -------------------------------------------------------------------------------- /Resources/bootstrap-admin-template-free.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/Resources/bootstrap-admin-template-free.zip -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/415cOCbey.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/415cOCbey.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/KhachHang/Author.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/KhachHang/Author.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/Loai/Brick house.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/Loai/Brick house.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/Loai/Certificate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/Loai/Certificate.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/NhaCC/dell-logo2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/NhaCC/dell-logo2.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/NhaCC/intel-logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/NhaCC/intel-logo.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Brick house.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Brick house.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Brief case.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Brief case.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Brightness.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Brightness.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Calculator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Calculator.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Certificate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Certificate.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Clien list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Clien list.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Closed door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Closed door.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Color wheel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Color wheel.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Conference.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Conference.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Disconnect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Disconnect.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Discussion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Discussion.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Exit button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Exit button.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Favourites.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Favourites.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Flash drive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Flash drive.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Flow block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Flow block.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Full basket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Full basket.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Lego brick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Lego brick.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Open folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Open folder.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Open letter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Open letter.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Piggy bank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Piggy bank.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Price list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Price list.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Properties.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Properties.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Scroll list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Scroll list.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Statistics.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Statistics.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/To do list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/To do list.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/User group.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/User group.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/31ioCUUFnoL.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/31ioCUUFnoL.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/415cOCbeyML.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/415cOCbeyML.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/416pdroSEkL.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/416pdroSEkL.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41KALboJKuL.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41KALboJKuL.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41XX7Pi240L.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41XX7Pi240L.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41sl3FN6NpL.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41sl3FN6NpL.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41w4TlVPhGL.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41w4TlVPhGL.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/51nukXFJLJL.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/51nukXFJLJL.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/KhachHang/Penguins.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/KhachHang/Penguins.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/NhaCC/samsung-logo-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/NhaCC/samsung-logo-2.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/NhaCC/shopping_cart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/NhaCC/shopping_cart.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/NhaCC/sonny-ericsson.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/NhaCC/sonny-ericsson.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/Others/shopping_cart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/Others/shopping_cart.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Add to basket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Add to basket.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Address book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Address book.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Cash register.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Cash register.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Closed folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Closed folder.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Construction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Construction.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Control panel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Control panel.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Mobile phone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Mobile phone.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Numbered list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Numbered list.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Print preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Print preview.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Unknown person.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Unknown person.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Unordered list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Unordered list.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/img/cart-page-header-img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/img/cart-page-header-img.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/lib/lightbox/images/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/lib/lightbox/images/close.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/lib/lightbox/images/next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/lib/lightbox/images/next.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/lib/lightbox/images/prev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/lib/lightbox/images/prev.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Application form.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Application form.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Game controller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Game controller.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/lib/lightbox/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/lib/lightbox/images/loading.gif -------------------------------------------------------------------------------- /ECommerceMVC/Helpers/MySetting.cs: -------------------------------------------------------------------------------- 1 | namespace ECommerceMVC.Helpers 2 | { 3 | public class MySetting 4 | { 5 | public static string CART_KEY = "MYCART"; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/KhachHang/android_300200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/KhachHang/android_300200.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/NhaCC/Acer_logo-300x300.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/NhaCC/Acer_logo-300x300.gif -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/icons/Remove from basket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/icons/Remove from basket.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/helpers/_text-truncation.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Text truncation 3 | // 4 | 5 | .text-truncate { 6 | @include text-truncate(); 7 | } 8 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/31YOss-gC-L._AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/31YOss-gC-L._AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/31hCgES5GXL._AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/31hCgES5GXL._AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/410PjzqoC8L._AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/410PjzqoC8L._AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/416OcTXFfeL._AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/416OcTXFfeL._AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/419WCoqfamL._AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/419WCoqfamL._AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41A9R5KXCXL._AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41A9R5KXCXL._AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41Pg1ahql8L._AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41Pg1ahql8L._AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41Z43OmFHjL._SX342_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41Z43OmFHjL._SX342_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41lffECD-sL._SY445_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41lffECD-sL._SY445_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41sw9ASUvBL._SX342_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41sw9ASUvBL._SX342_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/5195-l+nflL._AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/5195-l+nflL._AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/KhachHang/css-position-all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/KhachHang/css-position-all.png -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/513UnnRfFML._SL1001_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/513UnnRfFML._SL1001_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/51JhyHtnEgL._SL1001_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/51JhyHtnEgL._SL1001_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/71bJrFAys9L._SL1280_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/71bJrFAys9L._SL1280_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/71cBwWAgvIL._SL1430_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/71cBwWAgvIL._SL1430_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/816zGZv1ORL._SL1500_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/816zGZv1ORL._SL1500_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/81Q1DvOnnoL._SL1500_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/81Q1DvOnnoL._SL1500_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/81k1XbQ6nQL._SL1500_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/81k1XbQ6nQL._SL1500_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/91FM0Hog9FL._SL1500_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/91FM0Hog9FL._SL1500_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/91JUBDf1jTL._AA1500_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/91JUBDf1jTL._AA1500_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/91T2BjUkYmL._SL1500_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/91T2BjUkYmL._SL1500_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/lib/owlcarousel/assets/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/lib/owlcarousel/assets/ajax-loader.gif -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/31yxRemzRLL._SS350_ (1).jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/31yxRemzRLL._SS350_ (1).jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/lib/owlcarousel/assets/owl.video.play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/lib/owlcarousel/assets/owl.video.play.png -------------------------------------------------------------------------------- /ECommerceMVC/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft.AspNetCore": "Warning" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/21meTyhQebL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/21meTyhQebL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/31EPGSm2s1L._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/31EPGSm2s1L._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/31LAnW1JFqL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/31LAnW1JFqL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/31TB6tC6BOL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/31TB6tC6BOL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/31jsjfVfH9L._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/31jsjfVfH9L._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/31ncPnMYCxL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/31ncPnMYCxL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/31pAGovVENL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/31pAGovVENL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/31pT+SdvQXL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/31pT+SdvQXL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41-yvkFqVZL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41-yvkFqVZL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41BiMx1FKyL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41BiMx1FKyL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41CIcYRxJKL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41CIcYRxJKL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41G38jC0ajL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41G38jC0ajL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41GVLtgNngL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41GVLtgNngL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41IPLmZIKhL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41IPLmZIKhL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41LMouG6j7L._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41LMouG6j7L._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41MJUdI2jdL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41MJUdI2jdL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41RxtSQOd2L._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41RxtSQOd2L._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41TexqWVkHL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41TexqWVkHL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41V4Ds2PtZL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41V4Ds2PtZL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41WvZnGYUkL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41WvZnGYUkL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41Ymq8fjbOL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41Ymq8fjbOL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41ZE9SmWdzL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41ZE9SmWdzL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41brDHtPY9L._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41brDHtPY9L._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41iDo0HDhbL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41iDo0HDhbL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41iji4-9UsL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41iji4-9UsL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41qfgTvFBwL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41qfgTvFBwL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41qlcUEhNmL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41qlcUEhNmL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41riQRGf-6L._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41riQRGf-6L._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41sd2DTD8EL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41sd2DTD8EL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41sdBTtnUDL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41sdBTtnUDL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41wHu2N4tVL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41wHu2N4tVL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41yh1vBmqsL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41yh1vBmqsL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/41zxxR71G+L._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/41zxxR71G+L._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/51+4d3VBFvL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/51+4d3VBFvL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/515p1IeP0-L._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/515p1IeP0-L._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/51GBNkHO6vL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/51GBNkHO6vL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/51Lj5bxbNtL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/51Lj5bxbNtL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/51Z9tfgl4aL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/51Z9tfgl4aL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/51czOOat0OL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/51czOOat0OL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/51l46qQB50L._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/51l46qQB50L._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/51pvLIvb6ZL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/51pvLIvb6ZL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/51s6pbRlNyL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/51s6pbRlNyL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/51uJ-pWfc9L._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/51uJ-pWfc9L._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/51vxcBS1sQL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/51vxcBS1sQL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/51w+JqOnmSL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/51w+JqOnmSL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/51y46IslQkL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/51y46IslQkL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/Hinh/HangHoa/51yomC0EodL._SL500_AA300_.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hienlth-online/ECommerceMVC/HEAD/ECommerceMVC/wwwroot/Hinh/HangHoa/51yomC0EodL._SL500_AA300_.jpg -------------------------------------------------------------------------------- /ECommerceMVC/Views/Home/Privacy.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Privacy Policy"; 3 | } 4 |

@ViewData["Title"]

5 | 6 |

Use this page to detail your site's privacy policy.

7 | -------------------------------------------------------------------------------- /ECommerceMVC/ViewModels/CartModel.cs: -------------------------------------------------------------------------------- 1 | namespace ECommerceMVC.ViewModels 2 | { 3 | public class CartModel 4 | { 5 | public int Quantity { get; set; } 6 | public double Total { get; set; } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /ECommerceMVC/Views/Shared/_ValidationScriptsPartial.cshtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/helpers/_visually-hidden.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Visually hidden 3 | // 4 | 5 | .visually-hidden, 6 | .visually-hidden-focusable:not(:focus):not(:focus-within) { 7 | @include visually-hidden(); 8 | } 9 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/mixins/_clearfix.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start clearfix 2 | @mixin clearfix() { 3 | &::after { 4 | display: block; 5 | clear: both; 6 | content: ""; 7 | } 8 | } 9 | // scss-docs-end clearfix 10 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/mixins/_lists.scss: -------------------------------------------------------------------------------- 1 | // Lists 2 | 3 | // Unstyled keeps list items block level, just removes default browser padding and list-style 4 | @mixin list-unstyled { 5 | padding-left: 0; 6 | list-style: none; 7 | } 8 | -------------------------------------------------------------------------------- /ECommerceMVC/Models/ErrorViewModel.cs: -------------------------------------------------------------------------------- 1 | namespace ECommerceMVC.Models 2 | { 3 | public class ErrorViewModel 4 | { 5 | public string? RequestId { get; set; } 6 | 7 | public bool ShowRequestId => !string.IsNullOrEmpty(RequestId); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ECommerceMVC/ViewModels/MenuLoaiVM.cs: -------------------------------------------------------------------------------- 1 | namespace ECommerceMVC.ViewModels 2 | { 3 | public class MenuLoaiVM 4 | { 5 | public int MaLoai { get; set; } 6 | public string TenLoai { get; set; } 7 | public int SoLuong { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/mixins/_color-scheme.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start mixin-color-scheme 2 | @mixin color-scheme($name) { 3 | @media (prefers-color-scheme: #{$name}) { 4 | @content; 5 | } 6 | } 7 | // scss-docs-end mixin-color-scheme 8 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/mixins/_text-truncate.scss: -------------------------------------------------------------------------------- 1 | // Text truncate 2 | // Requires inline-block or block for proper styling 3 | 4 | @mixin text-truncate() { 5 | overflow: hidden; 6 | text-overflow: ellipsis; 7 | white-space: nowrap; 8 | } 9 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/js/site.js: -------------------------------------------------------------------------------- 1 | // Please see documentation at https://learn.microsoft.com/aspnet/core/client-side/bundling-and-minification 2 | // for details on configuring this project to bundle and minify static web assets. 3 | 4 | // Write your JavaScript code. 5 | -------------------------------------------------------------------------------- /ECommerceMVC/Views/HangHoa/Search.cshtml: -------------------------------------------------------------------------------- 1 | @model IEnumerable 2 | @{ 3 | ViewData["Title"] = "Search"; 4 | Layout = "_DanhSachHangHoa"; 5 | } 6 | 7 |

Search

8 | 9 | @await Html.PartialAsync("ProductItem", Model) 10 | 11 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/mixins/_resize.scss: -------------------------------------------------------------------------------- 1 | // Resize anything 2 | 3 | @mixin resizable($direction) { 4 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` 5 | resize: $direction; // Options: horizontal, vertical, both 6 | } 7 | -------------------------------------------------------------------------------- /ECommerceMVC/Views/Home/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Home Page"; 3 | } 4 | 5 |
6 |

Welcome

7 |

Learn about building Web apps with ASP.NET Core.

8 |
9 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/_helpers.scss: -------------------------------------------------------------------------------- 1 | @import "helpers/clearfix"; 2 | @import "helpers/colored-links"; 3 | @import "helpers/ratio"; 4 | @import "helpers/position"; 5 | @import "helpers/visually-hidden"; 6 | @import "helpers/stretched-link"; 7 | @import "helpers/text-truncation"; 8 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/forms/_form-text.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Form text 3 | // 4 | 5 | .form-text { 6 | margin-top: $form-text-margin-top; 7 | @include font-size($form-text-font-size); 8 | font-style: $form-text-font-style; 9 | font-weight: $form-text-font-weight; 10 | color: $form-text-color; 11 | } 12 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/_forms.scss: -------------------------------------------------------------------------------- 1 | @import "forms/labels"; 2 | @import "forms/form-text"; 3 | @import "forms/form-control"; 4 | @import "forms/form-select"; 5 | @import "forms/form-check"; 6 | @import "forms/form-range"; 7 | @import "forms/floating-labels"; 8 | @import "forms/input-group"; 9 | @import "forms/validation"; 10 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/helpers/_stretched-link.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Stretched link 3 | // 4 | 5 | .stretched-link { 6 | &::#{$stretched-link-pseudo-element} { 7 | position: absolute; 8 | top: 0; 9 | right: 0; 10 | bottom: 0; 11 | left: 0; 12 | z-index: $stretched-link-z-index; 13 | content: ""; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/mixins/_container.scss: -------------------------------------------------------------------------------- 1 | // Container mixins 2 | 3 | @mixin make-container($gutter: $container-padding-x) { 4 | width: 100%; 5 | padding-right: var(--#{$variable-prefix}gutter-x, #{$gutter}); 6 | padding-left: var(--#{$variable-prefix}gutter-x, #{$gutter}); 7 | margin-right: auto; 8 | margin-left: auto; 9 | } 10 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/mixins/_alert.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start alert-variant-mixin 2 | @mixin alert-variant($background, $border, $color) { 3 | color: $color; 4 | @include gradient-bg($background); 5 | border-color: $border; 6 | 7 | .alert-link { 8 | color: shade-color($color, 20%); 9 | } 10 | } 11 | // scss-docs-end alert-variant-mixin 12 | -------------------------------------------------------------------------------- /ECommerceMVC/ViewModels/CartItem.cs: -------------------------------------------------------------------------------- 1 | namespace ECommerceMVC.ViewModels 2 | { 3 | public class CartItem 4 | { 5 | public int MaHh { get; set; } 6 | public string Hinh { get; set; } 7 | public string TenHH { get; set; } 8 | public double DonGia { get; set; } 9 | public int SoLuong { get; set; } 10 | public double ThanhTien => SoLuong * DonGia; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ECommerceMVC/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "HShop": "Server=.;Database=Hshop2023;Integrated Security=True;Trust Server Certificate=True" 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Information", 8 | "Microsoft.AspNetCore": "Warning" 9 | } 10 | }, 11 | "AllowedHosts": "*" 12 | } 13 | -------------------------------------------------------------------------------- /ECommerceMVC/Data/TrangThai.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ECommerceMVC.Data; 5 | 6 | public partial class TrangThai 7 | { 8 | public int MaTrangThai { get; set; } 9 | 10 | public string TenTrangThai { get; set; } = null!; 11 | 12 | public string? MoTa { get; set; } 13 | 14 | public virtual ICollection HoaDons { get; set; } = new List(); 15 | } 16 | -------------------------------------------------------------------------------- /ECommerceMVC/Data/TrangWeb.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ECommerceMVC.Data; 5 | 6 | public partial class TrangWeb 7 | { 8 | public int MaTrang { get; set; } 9 | 10 | public string TenTrang { get; set; } = null!; 11 | 12 | public string Url { get; set; } = null!; 13 | 14 | public virtual ICollection PhanQuyens { get; set; } = new List(); 15 | } 16 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/_grid.scss: -------------------------------------------------------------------------------- 1 | // Row 2 | // 3 | // Rows contain your columns. 4 | 5 | @if $enable-grid-classes { 6 | .row { 7 | @include make-row(); 8 | 9 | > * { 10 | @include make-col-ready(); 11 | } 12 | } 13 | } 14 | 15 | 16 | // Columns 17 | // 18 | // Common styles for small and large grid columns 19 | 20 | @if $enable-grid-classes { 21 | @include make-grid-columns(); 22 | } 23 | -------------------------------------------------------------------------------- /ECommerceMVC/Views/Shared/_TimKiemPanel.cshtml: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 5 |
6 |
-------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/helpers/_colored-links.scss: -------------------------------------------------------------------------------- 1 | @each $color, $value in $theme-colors { 2 | .link-#{$color} { 3 | color: $value; 4 | 5 | @if $link-shade-percentage != 0 { 6 | &:hover, 7 | &:focus { 8 | color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage)); 9 | } 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ECommerceMVC/Views/Shared/Components/Cart/CartPanel.cshtml: -------------------------------------------------------------------------------- 1 | @model ECommerceMVC.ViewModels.CartModel 2 | 3 | 4 | 5 | @Model.Quantity 6 | -------------------------------------------------------------------------------- /ECommerceMVC/Helpers/AutoMapperProfile.cs: -------------------------------------------------------------------------------- 1 | using AutoMapper; 2 | using ECommerceMVC.Data; 3 | using ECommerceMVC.ViewModels; 4 | 5 | namespace ECommerceMVC.Helpers 6 | { 7 | public class AutoMapperProfile : Profile 8 | { 9 | public AutoMapperProfile() 10 | { 11 | CreateMap(); 12 | //.ForMember(kh => kh.HoTen, option => option.MapFrom(RegisterVM => RegisterVM.HoTen)) 13 | //.ReverseMap(); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ECommerceMVC/Data/ChuDe.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ECommerceMVC.Data; 5 | 6 | public partial class ChuDe 7 | { 8 | public int MaCd { get; set; } 9 | 10 | public string? TenCd { get; set; } 11 | 12 | public string? MaNv { get; set; } 13 | 14 | public virtual ICollection Gopies { get; set; } = new List(); 15 | 16 | public virtual NhanVien? MaNvNavigation { get; set; } 17 | } 18 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/_transitions.scss: -------------------------------------------------------------------------------- 1 | .fade { 2 | @include transition($transition-fade); 3 | 4 | &:not(.show) { 5 | opacity: 0; 6 | } 7 | } 8 | 9 | // scss-docs-start collapse-classes 10 | .collapse { 11 | &:not(.show) { 12 | display: none; 13 | } 14 | } 15 | 16 | .collapsing { 17 | height: 0; 18 | overflow: hidden; 19 | @include transition($transition-collapse); 20 | } 21 | // scss-docs-end collapse-classes 22 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/css/site.css: -------------------------------------------------------------------------------- 1 | html { 2 | font-size: 14px; 3 | } 4 | 5 | @media (min-width: 768px) { 6 | html { 7 | font-size: 16px; 8 | } 9 | } 10 | 11 | .btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus { 12 | box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb; 13 | } 14 | 15 | html { 16 | position: relative; 17 | min-height: 100%; 18 | } 19 | 20 | body { 21 | margin-bottom: 60px; 22 | } -------------------------------------------------------------------------------- /ECommerceMVC/Data/HoiDap.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ECommerceMVC.Data; 5 | 6 | public partial class HoiDap 7 | { 8 | public int MaHd { get; set; } 9 | 10 | public string CauHoi { get; set; } = null!; 11 | 12 | public string TraLoi { get; set; } = null!; 13 | 14 | public DateOnly NgayDua { get; set; } 15 | 16 | public string MaNv { get; set; } = null!; 17 | 18 | public virtual NhanVien MaNvNavigation { get; set; } = null!; 19 | } 20 | -------------------------------------------------------------------------------- /ECommerceMVC/Data/Loai.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ECommerceMVC.Data; 5 | 6 | public partial class Loai 7 | { 8 | public int MaLoai { get; set; } 9 | 10 | public string TenLoai { get; set; } = null!; 11 | 12 | public string? TenLoaiAlias { get; set; } 13 | 14 | public string? MoTa { get; set; } 15 | 16 | public string? Hinh { get; set; } 17 | 18 | public virtual ICollection HangHoas { get; set; } = new List(); 19 | } 20 | -------------------------------------------------------------------------------- /ECommerceMVC/Data/VChiTietHoaDon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ECommerceMVC.Data; 5 | 6 | public partial class VChiTietHoaDon 7 | { 8 | public int MaCt { get; set; } 9 | 10 | public int MaHd { get; set; } 11 | 12 | public int MaHh { get; set; } 13 | 14 | public double DonGia { get; set; } 15 | 16 | public int SoLuong { get; set; } 17 | 18 | public double GiamGia { get; set; } 19 | 20 | public string TenHh { get; set; } = null!; 21 | } 22 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/mixins/_image.scss: -------------------------------------------------------------------------------- 1 | // Image Mixins 2 | // - Responsive image 3 | // - Retina image 4 | 5 | 6 | // Responsive image 7 | // 8 | // Keep images from scaling beyond the width of their parents. 9 | 10 | @mixin img-fluid { 11 | // Part 1: Set a maximum relative to the parent 12 | max-width: 100%; 13 | // Part 2: Override the height to auto, otherwise images will be stretched 14 | // when setting a width and height attribute on the img element. 15 | height: auto; 16 | } 17 | -------------------------------------------------------------------------------- /ECommerceMVC/Data/PhongBan.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ECommerceMVC.Data; 5 | 6 | public partial class PhongBan 7 | { 8 | public string MaPb { get; set; } = null!; 9 | 10 | public string TenPb { get; set; } = null!; 11 | 12 | public string? ThongTin { get; set; } 13 | 14 | public virtual ICollection PhanCongs { get; set; } = new List(); 15 | 16 | public virtual ICollection PhanQuyens { get; set; } = new List(); 17 | } 18 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/bootstrap-utilities.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Utilities v5.0.0 (https://getbootstrap.com/) 3 | * Copyright 2011-2021 The Bootstrap Authors 4 | * Copyright 2011-2021 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6 | */ 7 | 8 | // Configuration 9 | @import "functions"; 10 | @import "variables"; 11 | @import "mixins"; 12 | @import "utilities"; 13 | 14 | // Helpers 15 | @import "helpers"; 16 | 17 | // Utilities 18 | @import "utilities/api"; 19 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/mixins/_box-shadow.scss: -------------------------------------------------------------------------------- 1 | @mixin box-shadow($shadow...) { 2 | @if $enable-shadows { 3 | $result: (); 4 | 5 | @each $value in $shadow { 6 | @if $value != null { 7 | $result: append($result, $value, "comma"); 8 | } 9 | @if $value == none and length($shadow) > 1 { 10 | @warn "The keyword 'none' must be used as a single argument."; 11 | } 12 | } 13 | 14 | @if (length($result) > 0) { 15 | box-shadow: $result; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ECommerceMVC/Data/YeuThich.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ECommerceMVC.Data; 5 | 6 | public partial class YeuThich 7 | { 8 | public int MaYt { get; set; } 9 | 10 | public int? MaHh { get; set; } 11 | 12 | public string? MaKh { get; set; } 13 | 14 | public DateTime? NgayChon { get; set; } 15 | 16 | public string? MoTa { get; set; } 17 | 18 | public virtual HangHoa? MaHhNavigation { get; set; } 19 | 20 | public virtual KhachHang? MaKhNavigation { get; set; } 21 | } 22 | -------------------------------------------------------------------------------- /ECommerceMVC/Helpers/SessionExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json; 2 | 3 | namespace ECommerceMVC.Helpers 4 | { 5 | public static class SessionExtensions 6 | { 7 | public static void Set(this ISession session, string key, T value) 8 | { 9 | session.SetString(key, JsonSerializer.Serialize(value)); 10 | } 11 | 12 | public static T? Get(this ISession session, string key) 13 | { 14 | var value = session.GetString(key); 15 | return value == null ? default : JsonSerializer.Deserialize(value); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ECommerceMVC/Data/PhanCong.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ECommerceMVC.Data; 5 | 6 | public partial class PhanCong 7 | { 8 | public int MaPc { get; set; } 9 | 10 | public string MaNv { get; set; } = null!; 11 | 12 | public string MaPb { get; set; } = null!; 13 | 14 | public DateTime? NgayPc { get; set; } 15 | 16 | public bool? HieuLuc { get; set; } 17 | 18 | public virtual NhanVien MaNvNavigation { get; set; } = null!; 19 | 20 | public virtual PhongBan MaPbNavigation { get; set; } = null!; 21 | } 22 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/forms/_validation.scss: -------------------------------------------------------------------------------- 1 | // Form validation 2 | // 3 | // Provide feedback to users when form field values are valid or invalid. Works 4 | // primarily for client-side validation via scoped `:invalid` and `:valid` 5 | // pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for 6 | // server-side validation. 7 | 8 | // scss-docs-start form-validation-states-loop 9 | @each $state, $data in $form-validation-states { 10 | @include form-validation-state($state, $data...); 11 | } 12 | // scss-docs-end form-validation-states-loop 13 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/helpers/_ratio.scss: -------------------------------------------------------------------------------- 1 | // Credit: Nicolas Gallagher and SUIT CSS. 2 | 3 | .ratio { 4 | position: relative; 5 | width: 100%; 6 | 7 | &::before { 8 | display: block; 9 | padding-top: var(--#{$variable-prefix}aspect-ratio); 10 | content: ""; 11 | } 12 | 13 | > * { 14 | position: absolute; 15 | top: 0; 16 | left: 0; 17 | width: 100%; 18 | height: 100%; 19 | } 20 | } 21 | 22 | @each $key, $ratio in $aspect-ratios { 23 | .ratio-#{$key} { 24 | --#{$variable-prefix}aspect-ratio: #{$ratio}; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /ECommerceMVC/Data/ChiTietHd.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ECommerceMVC.Data; 5 | 6 | public partial class ChiTietHd 7 | { 8 | public int MaCt { get; set; } 9 | 10 | public int MaHd { get; set; } 11 | 12 | public int MaHh { get; set; } 13 | 14 | public double DonGia { get; set; } 15 | 16 | public int SoLuong { get; set; } 17 | 18 | public double GiamGia { get; set; } 19 | 20 | public virtual HoaDon MaHdNavigation { get; set; } = null!; 21 | 22 | public virtual HangHoa MaHhNavigation { get; set; } = null!; 23 | } 24 | -------------------------------------------------------------------------------- /ECommerceMVC/ViewComponents/CartViewComponent.cs: -------------------------------------------------------------------------------- 1 | using ECommerceMVC.Helpers; 2 | using ECommerceMVC.ViewModels; 3 | using Microsoft.AspNetCore.Mvc; 4 | 5 | namespace ECommerceMVC.ViewComponents 6 | { 7 | public class CartViewComponent : ViewComponent 8 | { 9 | public IViewComponentResult Invoke() 10 | { 11 | var cart = HttpContext.Session.Get>(MySetting.CART_KEY) ?? new List(); 12 | 13 | return View("CartPanel", new CartModel 14 | { 15 | Quantity = cart.Sum(p => p.SoLuong), 16 | Total = cart.Sum(p => p.ThanhTien) 17 | }); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /ECommerceMVC/Data/PhanQuyen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ECommerceMVC.Data; 5 | 6 | public partial class PhanQuyen 7 | { 8 | public int MaPq { get; set; } 9 | 10 | public string? MaPb { get; set; } 11 | 12 | public int? MaTrang { get; set; } 13 | 14 | public bool Them { get; set; } 15 | 16 | public bool Sua { get; set; } 17 | 18 | public bool Xoa { get; set; } 19 | 20 | public bool Xem { get; set; } 21 | 22 | public virtual PhongBan? MaPbNavigation { get; set; } 23 | 24 | public virtual TrangWeb? MaTrangNavigation { get; set; } 25 | } 26 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/mixins/_reset-text.scss: -------------------------------------------------------------------------------- 1 | @mixin reset-text { 2 | font-family: $font-family-base; 3 | // We deliberately do NOT reset font-size or overflow-wrap / word-wrap. 4 | font-style: normal; 5 | font-weight: $font-weight-normal; 6 | line-height: $line-height-base; 7 | text-align: left; // Fallback for where `start` is not supported 8 | text-align: start; 9 | text-decoration: none; 10 | text-shadow: none; 11 | text-transform: none; 12 | letter-spacing: normal; 13 | word-break: normal; 14 | word-spacing: normal; 15 | white-space: normal; 16 | line-break: auto; 17 | } 18 | -------------------------------------------------------------------------------- /ECommerceMVC/Data/BanBe.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ECommerceMVC.Data; 5 | 6 | public partial class BanBe 7 | { 8 | public int MaBb { get; set; } 9 | 10 | public string? MaKh { get; set; } 11 | 12 | public int MaHh { get; set; } 13 | 14 | public string? HoTen { get; set; } 15 | 16 | public string Email { get; set; } = null!; 17 | 18 | public DateTime NgayGui { get; set; } 19 | 20 | public string? GhiChu { get; set; } 21 | 22 | public virtual HangHoa MaHhNavigation { get; set; } = null!; 23 | 24 | public virtual KhachHang? MaKhNavigation { get; set; } 25 | } 26 | -------------------------------------------------------------------------------- /ECommerceMVC/Views/Shared/Components/MenuLoai/Default.cshtml: -------------------------------------------------------------------------------- 1 | @model IEnumerable 2 | 3 |
4 |
5 |

Danh mục

6 |
    7 | @foreach (var item in Model) 8 | { 9 |
  • 10 |
    11 | 12 | @item.TenLoai 13 | 14 | (@item.SoLuong) 15 |
    16 |
  • 17 | } 18 | 19 |
20 |
21 |
-------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/mixins/_list-group.scss: -------------------------------------------------------------------------------- 1 | // List Groups 2 | 3 | // scss-docs-start list-group-mixin 4 | @mixin list-group-item-variant($state, $background, $color) { 5 | .list-group-item-#{$state} { 6 | color: $color; 7 | background-color: $background; 8 | 9 | &.list-group-item-action { 10 | &:hover, 11 | &:focus { 12 | color: $color; 13 | background-color: shade-color($background, 10%); 14 | } 15 | 16 | &.active { 17 | color: $white; 18 | background-color: $color; 19 | border-color: $color; 20 | } 21 | } 22 | } 23 | } 24 | // scss-docs-end list-group-mixin 25 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/helpers/_position.scss: -------------------------------------------------------------------------------- 1 | // Shorthand 2 | 3 | .fixed-top { 4 | position: fixed; 5 | top: 0; 6 | right: 0; 7 | left: 0; 8 | z-index: $zindex-fixed; 9 | } 10 | 11 | .fixed-bottom { 12 | position: fixed; 13 | right: 0; 14 | bottom: 0; 15 | left: 0; 16 | z-index: $zindex-fixed; 17 | } 18 | 19 | // Responsive sticky top 20 | @each $breakpoint in map-keys($grid-breakpoints) { 21 | @include media-breakpoint-up($breakpoint) { 22 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 23 | 24 | .sticky#{$infix}-top { 25 | position: sticky; 26 | top: 0; 27 | z-index: $zindex-sticky; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /ECommerceMVC/Data/NhaCungCap.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ECommerceMVC.Data; 5 | 6 | public partial class NhaCungCap 7 | { 8 | public string MaNcc { get; set; } = null!; 9 | 10 | public string TenCongTy { get; set; } = null!; 11 | 12 | public string Logo { get; set; } = null!; 13 | 14 | public string? NguoiLienLac { get; set; } 15 | 16 | public string Email { get; set; } = null!; 17 | 18 | public string? DienThoai { get; set; } 19 | 20 | public string? DiaChi { get; set; } 21 | 22 | public string? MoTa { get; set; } 23 | 24 | public virtual ICollection HangHoas { get; set; } = new List(); 25 | } 26 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/mixins/_deprecate.scss: -------------------------------------------------------------------------------- 1 | // Deprecate mixin 2 | // 3 | // This mixin can be used to deprecate mixins or functions. 4 | // `$enable-deprecation-messages` is a global variable, `$ignore-warning` is a variable that can be passed to 5 | // some deprecated mixins to suppress the warning (for example if the mixin is still be used in the current version of Bootstrap) 6 | @mixin deprecate($name, $deprecate-version, $remove-version, $ignore-warning: false) { 7 | @if ($enable-deprecation-messages != false and $ignore-warning != true) { 8 | @warn "#{$name} has been deprecated as of #{$deprecate-version}. It will be removed entirely in #{$remove-version}."; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/_root.scss: -------------------------------------------------------------------------------- 1 | :root { 2 | // Custom variable values only support SassScript inside `#{}`. 3 | @each $color, $value in $colors { 4 | --#{$variable-prefix}#{$color}: #{$value}; 5 | } 6 | 7 | @each $color, $value in $theme-colors { 8 | --#{$variable-prefix}#{$color}: #{$value}; 9 | } 10 | 11 | // Use `inspect` for lists so that quoted items keep the quotes. 12 | // See https://github.com/sass/sass/issues/2383#issuecomment-336349172 13 | --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)}; 14 | --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)}; 15 | --#{$variable-prefix}gradient: #{$gradient}; 16 | } 17 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap.scss: -------------------------------------------------------------------------------- 1 | /******* Customized Bootstrap ********/ 2 | 3 | $primary: #81C408; 4 | $secondary: #FFB524; 5 | $light: #F4F6F8; 6 | $dark: #45595B; 7 | 8 | $font-family-base: 'Open Sans', sans-serif; 9 | 10 | $headings-font-family: 'Raleway', sans-serif; 11 | 12 | $body-color: #747d88; 13 | 14 | $headings-color: $dark; 15 | 16 | $headings-font-weight: 600; 17 | 18 | $display-font-weight: 800; 19 | 20 | $enable-responsive-font-sizes: true; 21 | 22 | $border-radius: 10px; 23 | 24 | $border-radius-sm: $border-radius; 25 | 26 | $border-radius-lg: $border-radius; 27 | 28 | $link-decoration: none; 29 | 30 | $enable-negative-margins: true; 31 | 32 | @import "bootstrap/scss/bootstrap"; -------------------------------------------------------------------------------- /ECommerceMVC/Data/GopY.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ECommerceMVC.Data; 5 | 6 | public partial class GopY 7 | { 8 | public string MaGy { get; set; } = null!; 9 | 10 | public int MaCd { get; set; } 11 | 12 | public string NoiDung { get; set; } = null!; 13 | 14 | public DateOnly NgayGy { get; set; } 15 | 16 | public string? HoTen { get; set; } 17 | 18 | public string? Email { get; set; } 19 | 20 | public string? DienThoai { get; set; } 21 | 22 | public bool CanTraLoi { get; set; } 23 | 24 | public string? TraLoi { get; set; } 25 | 26 | public DateOnly? NgayTl { get; set; } 27 | 28 | public virtual ChuDe MaCdNavigation { get; set; } = null!; 29 | } 30 | -------------------------------------------------------------------------------- /ECommerceMVC/Data/NhanVien.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ECommerceMVC.Data; 5 | 6 | public partial class NhanVien 7 | { 8 | public string MaNv { get; set; } = null!; 9 | 10 | public string HoTen { get; set; } = null!; 11 | 12 | public string Email { get; set; } = null!; 13 | 14 | public string? MatKhau { get; set; } 15 | 16 | public virtual ICollection ChuDes { get; set; } = new List(); 17 | 18 | public virtual ICollection HoaDons { get; set; } = new List(); 19 | 20 | public virtual ICollection HoiDaps { get; set; } = new List(); 21 | 22 | public virtual ICollection PhanCongs { get; set; } = new List(); 23 | } 24 | -------------------------------------------------------------------------------- /ECommerceMVC/ViewComponents/MenuLoaiViewComponent.cs: -------------------------------------------------------------------------------- 1 | using ECommerceMVC.Data; 2 | using ECommerceMVC.ViewModels; 3 | using Microsoft.AspNetCore.Mvc; 4 | 5 | namespace ECommerceMVC.ViewComponents 6 | { 7 | public class MenuLoaiViewComponent : ViewComponent 8 | { 9 | private readonly Hshop2023Context db; 10 | 11 | public MenuLoaiViewComponent(Hshop2023Context context) => db = context; 12 | 13 | public IViewComponentResult Invoke() 14 | { 15 | var data = db.Loais.Select(lo => new MenuLoaiVM 16 | { 17 | MaLoai = lo.MaLoai, 18 | TenLoai = lo.TenLoai, 19 | SoLuong = lo.HangHoas.Count 20 | }).OrderBy(p => p.TenLoai); 21 | 22 | return View(data); // Default.cshtml 23 | //return View("Default", data); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /ECommerceMVC/ViewModels/HangHoaVM.cs: -------------------------------------------------------------------------------- 1 | namespace ECommerceMVC.ViewModels 2 | { 3 | public class HangHoaVM 4 | { 5 | public int MaHh { get; set; } 6 | public string TenHH { get; set; } 7 | public string Hinh { get; set; } 8 | public double DonGia { get; set; } 9 | public string MoTaNgan { get; set; } 10 | public string TenLoai { get; set; } 11 | } 12 | 13 | public class ChiTietHangHoaVM 14 | { 15 | public int MaHh { get; set; } 16 | public string TenHH { get; set; } 17 | public string Hinh { get; set; } 18 | public double DonGia { get; set; } 19 | public string MoTaNgan { get; set; } 20 | public string TenLoai { get; set; } 21 | public string ChiTiet { get; set; } 22 | public int DiemDanhGia { get; set; } 23 | public int SoLuongTon { get; set; } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/_badge.scss: -------------------------------------------------------------------------------- 1 | // Base class 2 | // 3 | // Requires one of the contextual, color modifier classes for `color` and 4 | // `background-color`. 5 | 6 | .badge { 7 | display: inline-block; 8 | padding: $badge-padding-y $badge-padding-x; 9 | @include font-size($badge-font-size); 10 | font-weight: $badge-font-weight; 11 | line-height: 1; 12 | color: $badge-color; 13 | text-align: center; 14 | white-space: nowrap; 15 | vertical-align: baseline; 16 | @include border-radius($badge-border-radius); 17 | @include gradient-bg(); 18 | 19 | // Empty badges collapse automatically 20 | &:empty { 21 | display: none; 22 | } 23 | } 24 | 25 | // Quick fix for badges in buttons 26 | .btn .badge { 27 | position: relative; 28 | top: -1px; 29 | } 30 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/bootstrap-reboot.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Reboot v5.0.0 (https://getbootstrap.com/) 3 | * Copyright 2011-2021 The Bootstrap Authors 4 | * Copyright 2011-2021 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) 7 | */ 8 | 9 | @import "functions"; 10 | @import "variables"; 11 | // Prevent the usage of custom properties since we don't add them to `:root` in reboot 12 | $font-family-base: $font-family-sans-serif; // stylelint-disable-line scss/dollar-variable-default 13 | $font-family-code: $font-family-monospace; // stylelint-disable-line scss/dollar-variable-default 14 | @import "mixins"; 15 | @import "reboot"; 16 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/mixins/_transition.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable property-disallowed-list 2 | @mixin transition($transition...) { 3 | @if length($transition) == 0 { 4 | $transition: $transition-base; 5 | } 6 | 7 | @if length($transition) > 1 { 8 | @each $value in $transition { 9 | @if $value == null or $value == none { 10 | @warn "The keyword 'none' or 'null' must be used as a single argument."; 11 | } 12 | } 13 | } 14 | 15 | @if $enable-transitions { 16 | @if nth($transition, 1) != null { 17 | transition: $transition; 18 | } 19 | 20 | @if $enable-reduced-motion and nth($transition, 1) != null and nth($transition, 1) != none { 21 | @media (prefers-reduced-motion: reduce) { 22 | transition: none; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/mixins/_pagination.scss: -------------------------------------------------------------------------------- 1 | // Pagination 2 | 3 | // scss-docs-start pagination-mixin 4 | @mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) { 5 | .page-link { 6 | padding: $padding-y $padding-x; 7 | @include font-size($font-size); 8 | } 9 | 10 | .page-item { 11 | @if $pagination-margin-start == (-$pagination-border-width) { 12 | &:first-child { 13 | .page-link { 14 | @include border-start-radius($border-radius); 15 | } 16 | } 17 | 18 | &:last-child { 19 | .page-link { 20 | @include border-end-radius($border-radius); 21 | } 22 | } 23 | } @else { 24 | //Add border-radius to all pageLinks in case they have left margin 25 | .page-link { 26 | @include border-radius($border-radius); 27 | } 28 | } 29 | } 30 | } 31 | // scss-docs-end pagination-mixin 32 | -------------------------------------------------------------------------------- /ECommerceMVC/Controllers/HomeController.cs: -------------------------------------------------------------------------------- 1 | using ECommerceMVC.Models; 2 | using Microsoft.AspNetCore.Mvc; 3 | using System.Diagnostics; 4 | 5 | namespace ECommerceMVC.Controllers 6 | { 7 | public class HomeController : Controller 8 | { 9 | private readonly ILogger _logger; 10 | 11 | public HomeController(ILogger logger) 12 | { 13 | _logger = logger; 14 | } 15 | 16 | public IActionResult Index() 17 | { 18 | return View(); 19 | } 20 | 21 | [Route("/404")] 22 | public IActionResult PageNotFound() 23 | { 24 | return View(); 25 | } 26 | 27 | public IActionResult Privacy() 28 | { 29 | return View(); 30 | } 31 | 32 | [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] 33 | public IActionResult Error() 34 | { 35 | return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier }); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /ECommerceMVC/Helpers/MyUtil.cs: -------------------------------------------------------------------------------- 1 | using System.Text; 2 | 3 | namespace ECommerceMVC.Helpers 4 | { 5 | public class MyUtil 6 | { 7 | public static string UploadHinh(IFormFile Hinh, string folder) 8 | { 9 | try 10 | { 11 | var fullPath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "Hinh", folder, Hinh.FileName); 12 | using (var myfile = new FileStream(fullPath, FileMode.CreateNew)) 13 | { 14 | Hinh.CopyTo(myfile); 15 | } 16 | return Hinh.FileName; 17 | } 18 | catch (Exception ex) 19 | { 20 | return string.Empty; 21 | } 22 | } 23 | 24 | public static string GenerateRamdomKey(int length = 5) 25 | { 26 | var pattern = @"qazwsxedcrfvtgbyhnujmiklopQAZWSXEDCRFVTGBYHNUJMIKLOP!"; 27 | var sb = new StringBuilder(); 28 | var rd = new Random(); 29 | for (int i = 0; i < length; i++) 30 | { 31 | sb.Append(pattern[rd.Next(0, pattern.Length)]); 32 | } 33 | 34 | return sb.ToString(); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /ECommerceMVC/Views/Shared/Error.cshtml: -------------------------------------------------------------------------------- 1 | @model ErrorViewModel 2 | @{ 3 | ViewData["Title"] = "Error"; 4 | } 5 | 6 |

Error.

7 |

An error occurred while processing your request.

8 | 9 | @if (Model.ShowRequestId) 10 | { 11 |

12 | Request ID: @Model.RequestId 13 |

14 | } 15 | 16 |

Development Mode

17 |

18 | Swapping to Development environment will display more detailed information about the error that occurred. 19 |

20 |

21 | The Development environment shouldn't be enabled for deployed applications. 22 | It can result in displaying sensitive information from exceptions to end users. 23 | For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development 24 | and restarting the app. 25 |

26 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/lib/owlcarousel/assets/owl.theme.green.min.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Owl Carousel v2.2.1 3 | * Copyright 2013-2017 David Deutsch 4 | * Licensed under () 5 | */ 6 | .owl-theme .owl-dots,.owl-theme .owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-nav{margin-top:10px}.owl-theme .owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;border-radius:3px}.owl-theme .owl-nav [class*=owl-]:hover{background:#4DC7A0;color:#FFF;text-decoration:none}.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#4DC7A0} -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/lib/owlcarousel/assets/owl.theme.default.min.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Owl Carousel v2.2.1 3 | * Copyright 2013-2017 David Deutsch 4 | * Licensed under () 5 | */ 6 | .owl-theme .owl-dots,.owl-theme .owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-nav{margin-top:10px}.owl-theme .owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;border-radius:3px}.owl-theme .owl-nav [class*=owl-]:hover{background:#869791;color:#FFF;text-decoration:none}.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#869791} -------------------------------------------------------------------------------- /ECommerceMVC/Data/KhachHang.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ECommerceMVC.Data; 5 | 6 | public partial class KhachHang 7 | { 8 | public string MaKh { get; set; } = null!; 9 | 10 | public string? MatKhau { get; set; } 11 | 12 | public string HoTen { get; set; } = null!; 13 | 14 | public bool GioiTinh { get; set; } 15 | 16 | public DateTime NgaySinh { get; set; } 17 | 18 | public string? DiaChi { get; set; } 19 | 20 | public string? DienThoai { get; set; } 21 | 22 | public string Email { get; set; } = null!; 23 | 24 | public string? Hinh { get; set; } 25 | 26 | public bool HieuLuc { get; set; } 27 | 28 | public int VaiTro { get; set; } 29 | 30 | public string? RandomKey { get; set; } 31 | 32 | public virtual ICollection BanBes { get; set; } = new List(); 33 | 34 | public virtual ICollection HoaDons { get; set; } = new List(); 35 | 36 | public virtual ICollection YeuThiches { get; set; } = new List(); 37 | } 38 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/_breadcrumb.scss: -------------------------------------------------------------------------------- 1 | .breadcrumb { 2 | display: flex; 3 | flex-wrap: wrap; 4 | padding: $breadcrumb-padding-y $breadcrumb-padding-x; 5 | margin-bottom: $breadcrumb-margin-bottom; 6 | @include font-size($breadcrumb-font-size); 7 | list-style: none; 8 | background-color: $breadcrumb-bg; 9 | @include border-radius($breadcrumb-border-radius); 10 | } 11 | 12 | .breadcrumb-item { 13 | // The separator between breadcrumbs (by default, a forward-slash: "/") 14 | + .breadcrumb-item { 15 | padding-left: $breadcrumb-item-padding-x; 16 | 17 | &::before { 18 | float: left; // Suppress inline spacings and underlining of the separator 19 | padding-right: $breadcrumb-item-padding-x; 20 | color: $breadcrumb-divider-color; 21 | content: var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)) #{"/* rtl:"} var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped)) #{"*/"}; 22 | } 23 | } 24 | 25 | &.active { 26 | color: $breadcrumb-active-color; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ECommerceMVC/Views/Shared/_Copyright.cshtml: -------------------------------------------------------------------------------- 1 | 2 | 17 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Toggles 2 | // 3 | // Used in conjunction with global variables to enable certain theme features. 4 | 5 | // Vendor 6 | @import "vendor/rfs"; 7 | 8 | // Deprecate 9 | @import "mixins/deprecate"; 10 | 11 | // Helpers 12 | @import "mixins/breakpoints"; 13 | @import "mixins/color-scheme"; 14 | @import "mixins/image"; 15 | @import "mixins/resize"; 16 | @import "mixins/visually-hidden"; 17 | @import "mixins/reset-text"; 18 | @import "mixins/text-truncate"; 19 | 20 | // Utilities 21 | @import "mixins/utilities"; 22 | 23 | // Components 24 | @import "mixins/alert"; 25 | @import "mixins/buttons"; 26 | @import "mixins/caret"; 27 | @import "mixins/pagination"; 28 | @import "mixins/lists"; 29 | @import "mixins/list-group"; 30 | @import "mixins/forms"; 31 | @import "mixins/table-variants"; 32 | 33 | // Skins 34 | @import "mixins/border-radius"; 35 | @import "mixins/box-shadow"; 36 | @import "mixins/gradients"; 37 | @import "mixins/transition"; 38 | 39 | // Layout 40 | @import "mixins/clearfix"; 41 | @import "mixins/container"; 42 | @import "mixins/grid"; 43 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/mixins/_table-variants.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start table-variant 2 | @mixin table-variant($state, $background) { 3 | .table-#{$state} { 4 | $color: color-contrast(opaque($body-bg, $background)); 5 | $hover-bg: mix($color, $background, percentage($table-hover-bg-factor)); 6 | $striped-bg: mix($color, $background, percentage($table-striped-bg-factor)); 7 | $active-bg: mix($color, $background, percentage($table-active-bg-factor)); 8 | 9 | --#{$variable-prefix}table-bg: #{$background}; 10 | --#{$variable-prefix}table-striped-bg: #{$striped-bg}; 11 | --#{$variable-prefix}table-striped-color: #{color-contrast($striped-bg)}; 12 | --#{$variable-prefix}table-active-bg: #{$active-bg}; 13 | --#{$variable-prefix}table-active-color: #{color-contrast($active-bg)}; 14 | --#{$variable-prefix}table-hover-bg: #{$hover-bg}; 15 | --#{$variable-prefix}table-hover-color: #{color-contrast($hover-bg)}; 16 | 17 | color: $color; 18 | border-color: mix($color, $background, percentage($table-border-factor)); 19 | } 20 | } 21 | // scss-docs-end table-variant 22 | -------------------------------------------------------------------------------- /ECommerceMVC/Views/Shared/_Layout.cshtml.css: -------------------------------------------------------------------------------- 1 | /* Please see documentation at https://learn.microsoft.com/aspnet/core/client-side/bundling-and-minification 2 | for details on configuring this project to bundle and minify static web assets. */ 3 | 4 | a.navbar-brand { 5 | white-space: normal; 6 | text-align: center; 7 | word-break: break-all; 8 | } 9 | 10 | a { 11 | color: #0077cc; 12 | } 13 | 14 | .btn-primary { 15 | color: #fff; 16 | background-color: #1b6ec2; 17 | border-color: #1861ac; 18 | } 19 | 20 | .nav-pills .nav-link.active, .nav-pills .show > .nav-link { 21 | color: #fff; 22 | background-color: #1b6ec2; 23 | border-color: #1861ac; 24 | } 25 | 26 | .border-top { 27 | border-top: 1px solid #e5e5e5; 28 | } 29 | .border-bottom { 30 | border-bottom: 1px solid #e5e5e5; 31 | } 32 | 33 | .box-shadow { 34 | box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05); 35 | } 36 | 37 | button.accept-policy { 38 | font-size: 1rem; 39 | line-height: inherit; 40 | } 41 | 42 | .footer { 43 | position: absolute; 44 | bottom: 0; 45 | width: 100%; 46 | white-space: nowrap; 47 | line-height: 60px; 48 | } 49 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ECommerce - ASP.NET Core 8 MVC 2 | 3 | ### Series giới thiệu dự án E-Commerce 4 | 5 | ### Hướng dẫn Xây dựng Website Thương mại Điện tử với ASP.NET Core MVC trên nền .NET Core 8. 6 | Mời các bạn theo dõi, học hỏi và chia sẽ. ([YouTube](https://www.youtube.com/playlist?list=PLE5Bje814fYbtRxvDgmWJ6fUpIZXtbNrb)) 7 | 8 | ## Video 0 - Giới thiệu dự án - https://youtu.be/7hwegNKkq9k 9 | 10 | ## Video 1 - Tạo project - https://youtu.be/JNFBVt2tbCs 11 | 12 | ## Video 2 - Tạo Layout template trang chủ - https://youtu.be/g7WjoJOMHyI 13 | 14 | ## Video 3 - Tạo Menu dạng ViewComponent cho trang Layout Danh sách hàng hóa - https://youtu.be/yTOcQtF1lzo 15 | 16 | ## Video 4 - Trang Danh sách hàng hóa - https://youtu.be/ocu5he0JSAs 17 | 18 | ## Video 5 - Trang chi tiết hàng hóa - https://youtu.be/rTLZTVyGwlw 19 | 20 | ## Video 6 - Đưa hàng vào giỏ - https://youtu.be/zooxDCy1oZY 21 | 22 | ## Video 7 - Thông tin giỏ hàng - https://youtu.be/K01EacugLzo 23 | 24 | ## Video 8 - Trang đăng ký - https://youtu.be/uuMMw2If1js 25 | 26 | 27 | #### Nếu thấy hay và hữu ích, hãy ủng hộ tôi 01 ly cafe để tỉnh táo thực hiện các video tiếp theo: *BIDV 0559 667 467* 28 | Chân thành cảm ơn. 29 | -------------------------------------------------------------------------------- /ECommerceMVC/Data/HoaDon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ECommerceMVC.Data; 5 | 6 | public partial class HoaDon 7 | { 8 | public int MaHd { get; set; } 9 | 10 | public string MaKh { get; set; } = null!; 11 | 12 | public DateTime NgayDat { get; set; } 13 | 14 | public DateTime? NgayCan { get; set; } 15 | 16 | public DateTime? NgayGiao { get; set; } 17 | 18 | public string? HoTen { get; set; } 19 | 20 | public string DiaChi { get; set; } = null!; 21 | 22 | public string CachThanhToan { get; set; } = null!; 23 | 24 | public string CachVanChuyen { get; set; } = null!; 25 | 26 | public double PhiVanChuyen { get; set; } 27 | 28 | public int MaTrangThai { get; set; } 29 | 30 | public string? MaNv { get; set; } 31 | 32 | public string? GhiChu { get; set; } 33 | 34 | public virtual ICollection ChiTietHds { get; set; } = new List(); 35 | 36 | public virtual KhachHang MaKhNavigation { get; set; } = null!; 37 | 38 | public virtual NhanVien? MaNvNavigation { get; set; } 39 | 40 | public virtual TrangThai MaTrangThaiNavigation { get; set; } = null!; 41 | } 42 | -------------------------------------------------------------------------------- /ECommerceMVC/Views/HangHoa/Index.cshtml: -------------------------------------------------------------------------------- 1 | @model IEnumerable 2 | 3 | @{ 4 | ViewData["Title"] = "Index"; 5 | Layout = "_DanhSachHangHoa"; 6 | } 7 | 8 | 9 | @section BreadCum { 10 | 18 | } 19 | 20 | 21 | @await Html.PartialAsync("ProductItem", Model) 22 | 23 |
24 | 34 |
35 | -------------------------------------------------------------------------------- /ECommerceMVC/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json.schemastore.org/launchsettings.json", 3 | "iisSettings": { 4 | "windowsAuthentication": false, 5 | "anonymousAuthentication": true, 6 | "iisExpress": { 7 | "applicationUrl": "http://localhost:20123", 8 | "sslPort": 44392 9 | } 10 | }, 11 | "profiles": { 12 | "http": { 13 | "commandName": "Project", 14 | "dotnetRunMessages": true, 15 | "launchBrowser": true, 16 | "applicationUrl": "http://localhost:5259", 17 | "environmentVariables": { 18 | "ASPNETCORE_ENVIRONMENT": "Development" 19 | } 20 | }, 21 | "https": { 22 | "commandName": "Project", 23 | "dotnetRunMessages": true, 24 | "launchBrowser": true, 25 | "applicationUrl": "https://localhost:7148;http://localhost:5259", 26 | "environmentVariables": { 27 | "ASPNETCORE_ENVIRONMENT": "Development" 28 | } 29 | }, 30 | "IIS Express": { 31 | "commandName": "IISExpress", 32 | "launchBrowser": true, 33 | "environmentVariables": { 34 | "ASPNETCORE_ENVIRONMENT": "Development" 35 | } 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/mixins/_visually-hidden.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Hide content visually while keeping it accessible to assistive technologies 4 | // 5 | // See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/ 6 | // See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/ 7 | 8 | @mixin visually-hidden() { 9 | position: absolute !important; 10 | width: 1px !important; 11 | height: 1px !important; 12 | padding: 0 !important; 13 | margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686 14 | overflow: hidden !important; 15 | clip: rect(0, 0, 0, 0) !important; 16 | white-space: nowrap !important; 17 | border: 0 !important; 18 | } 19 | 20 | // Use to only display content when it's focused, or one of its child elements is focused 21 | // (i.e. when focus is within the element/container that the class was applied to) 22 | // 23 | // Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 24 | 25 | @mixin visually-hidden-focusable() { 26 | &:not(:focus):not(:focus-within) { 27 | @include visually-hidden(); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /ECommerceMVC/Data/HangHoa.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ECommerceMVC.Data; 5 | 6 | public partial class HangHoa 7 | { 8 | public int MaHh { get; set; } 9 | 10 | public string TenHh { get; set; } = null!; 11 | 12 | public string? TenAlias { get; set; } 13 | 14 | public int MaLoai { get; set; } 15 | 16 | public string? MoTaDonVi { get; set; } 17 | 18 | public double? DonGia { get; set; } 19 | 20 | public string? Hinh { get; set; } 21 | 22 | public DateTime NgaySx { get; set; } 23 | 24 | public double GiamGia { get; set; } 25 | 26 | public int SoLanXem { get; set; } 27 | 28 | public string? MoTa { get; set; } 29 | 30 | public string MaNcc { get; set; } = null!; 31 | 32 | public virtual ICollection BanBes { get; set; } = new List(); 33 | 34 | public virtual ICollection ChiTietHds { get; set; } = new List(); 35 | 36 | public virtual Loai MaLoaiNavigation { get; set; } = null!; 37 | 38 | public virtual NhaCungCap MaNccNavigation { get; set; } = null!; 39 | 40 | public virtual ICollection YeuThiches { get; set; } = new List(); 41 | } 42 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/lib/jquery/LICENSE.txt: -------------------------------------------------------------------------------- 1 | 2 | Copyright OpenJS Foundation and other contributors, https://openjsf.org/ 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining 5 | a copy of this software and associated documentation files (the 6 | "Software"), to deal in the Software without restriction, including 7 | without limitation the rights to use, copy, modify, merge, publish, 8 | distribute, sublicense, and/or sell copies of the Software, and to 9 | permit persons to whom the Software is furnished to do so, subject to 10 | the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 19 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 20 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 21 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/lib/owlcarousel/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 Owl 2 | Modified work Copyright 2016 David Deutsch 3 | 4 | Permission is hereby granted, free of charge, to any person 5 | obtaining a copy of this software and associated documentation 6 | files (the "Software"), to deal in the Software without 7 | restriction, including without limitation the rights to use, 8 | copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the 10 | Software is furnished to do so, subject to the following 11 | conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 18 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 20 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 21 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 22 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 23 | OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /ECommerceMVC.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 17 4 | VisualStudioVersion = 17.8.34309.116 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ECommerceMVC", "ECommerceMVC\ECommerceMVC.csproj", "{0EDD3EE7-97C7-40F7-9D5E-73BAADEB2804}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {0EDD3EE7-97C7-40F7-9D5E-73BAADEB2804}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {0EDD3EE7-97C7-40F7-9D5E-73BAADEB2804}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {0EDD3EE7-97C7-40F7-9D5E-73BAADEB2804}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {0EDD3EE7-97C7-40F7-9D5E-73BAADEB2804}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {E75F24D5-35C6-44B5-A748-29211FE65BB8} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/lib/jquery-validation/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | ===================== 3 | 4 | Copyright Jörn Zaefferer 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/lib/bootstrap/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2011-2021 Twitter, Inc. 4 | Copyright (c) 2011-2021 The Bootstrap Authors 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/lib/jquery-validation-unobtrusive/LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) .NET Foundation and Contributors 4 | 5 | All rights reserved. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | -------------------------------------------------------------------------------- /ECommerceMVC/Views/HangHoa/ProductItem.cshtml: -------------------------------------------------------------------------------- 1 | @model IEnumerable 2 | 3 |

@Model.Count() sản phẩm.

4 | @foreach (var item in Model) 5 | { 6 |
7 |
8 |
9 | 10 | @item.TenHH 11 | 12 |
13 |
@item.TenLoai
14 |
15 |

@item.TenHH

16 |

@item.MoTaNgan

17 |
18 |

$@item.DonGia

19 | Đưa vào giỏ 20 |
21 |
22 |
23 |
24 | } -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/bootstrap.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v5.0.0 (https://getbootstrap.com/) 3 | * Copyright 2011-2021 The Bootstrap Authors 4 | * Copyright 2011-2021 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6 | */ 7 | 8 | // scss-docs-start import-stack 9 | // Configuration 10 | @import "functions"; 11 | @import "variables"; 12 | @import "mixins"; 13 | @import "utilities"; 14 | 15 | // Layout & components 16 | @import "root"; 17 | @import "reboot"; 18 | @import "type"; 19 | @import "images"; 20 | @import "containers"; 21 | @import "grid"; 22 | @import "tables"; 23 | @import "forms"; 24 | @import "buttons"; 25 | @import "transitions"; 26 | @import "dropdown"; 27 | @import "button-group"; 28 | @import "nav"; 29 | @import "navbar"; 30 | @import "card"; 31 | @import "accordion"; 32 | @import "breadcrumb"; 33 | @import "pagination"; 34 | @import "badge"; 35 | @import "alert"; 36 | @import "progress"; 37 | @import "list-group"; 38 | @import "close"; 39 | @import "toasts"; 40 | @import "modal"; 41 | @import "tooltip"; 42 | @import "popover"; 43 | @import "carousel"; 44 | @import "spinners"; 45 | @import "offcanvas"; 46 | 47 | // Helpers 48 | @import "helpers"; 49 | 50 | // Utilities 51 | @import "utilities/api"; 52 | // scss-docs-end import-stack 53 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/_close.scss: -------------------------------------------------------------------------------- 1 | // transparent background and border properties included for button version. 2 | // iOS requires the button element instead of an anchor tag. 3 | // If you want the anchor version, it requires `href="#"`. 4 | // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile 5 | 6 | .btn-close { 7 | box-sizing: content-box; 8 | width: $btn-close-width; 9 | height: $btn-close-height; 10 | padding: $btn-close-padding-y $btn-close-padding-x; 11 | color: $btn-close-color; 12 | background: transparent escape-svg($btn-close-bg) center / $btn-close-width auto no-repeat; // include transparent for button elements 13 | border: 0; // for button elements 14 | @include border-radius(); 15 | opacity: $btn-close-opacity; 16 | 17 | // Override 's hover style 18 | &:hover { 19 | color: $btn-close-color; 20 | text-decoration: none; 21 | opacity: $btn-close-hover-opacity; 22 | } 23 | 24 | &:focus { 25 | outline: 0; 26 | box-shadow: $btn-close-focus-shadow; 27 | opacity: $btn-close-focus-opacity; 28 | } 29 | 30 | &:disabled, 31 | &.disabled { 32 | pointer-events: none; 33 | user-select: none; 34 | opacity: $btn-close-disabled-opacity; 35 | } 36 | } 37 | 38 | .btn-close-white { 39 | filter: $btn-close-white-filter; 40 | } 41 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/forms/_labels.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Labels 3 | // 4 | 5 | .form-label { 6 | margin-bottom: $form-label-margin-bottom; 7 | @include font-size($form-label-font-size); 8 | font-style: $form-label-font-style; 9 | font-weight: $form-label-font-weight; 10 | color: $form-label-color; 11 | } 12 | 13 | // For use with horizontal and inline forms, when you need the label (or legend) 14 | // text to align with the form controls. 15 | .col-form-label { 16 | padding-top: add($input-padding-y, $input-border-width); 17 | padding-bottom: add($input-padding-y, $input-border-width); 18 | margin-bottom: 0; // Override the `` default 19 | @include font-size(inherit); // Override the `` default 20 | font-style: $form-label-font-style; 21 | font-weight: $form-label-font-weight; 22 | line-height: $input-line-height; 23 | color: $form-label-color; 24 | } 25 | 26 | .col-form-label-lg { 27 | padding-top: add($input-padding-y-lg, $input-border-width); 28 | padding-bottom: add($input-padding-y-lg, $input-border-width); 29 | @include font-size($input-font-size-lg); 30 | } 31 | 32 | .col-form-label-sm { 33 | padding-top: add($input-padding-y-sm, $input-border-width); 34 | padding-bottom: add($input-padding-y-sm, $input-border-width); 35 | @include font-size($input-font-size-sm); 36 | } 37 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/_images.scss: -------------------------------------------------------------------------------- 1 | // Responsive images (ensure images don't scale beyond their parents) 2 | // 3 | // This is purposefully opt-in via an explicit class rather than being the default for all ``s. 4 | // We previously tried the "images are responsive by default" approach in Bootstrap v2, 5 | // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps) 6 | // which weren't expecting the images within themselves to be involuntarily resized. 7 | // See also https://github.com/twbs/bootstrap/issues/18178 8 | .img-fluid { 9 | @include img-fluid(); 10 | } 11 | 12 | 13 | // Image thumbnails 14 | .img-thumbnail { 15 | padding: $thumbnail-padding; 16 | background-color: $thumbnail-bg; 17 | border: $thumbnail-border-width solid $thumbnail-border-color; 18 | @include border-radius($thumbnail-border-radius); 19 | @include box-shadow($thumbnail-box-shadow); 20 | 21 | // Keep them at most 100% wide 22 | @include img-fluid(); 23 | } 24 | 25 | // 26 | // Figures 27 | // 28 | 29 | .figure { 30 | // Ensures the caption's text aligns with the image. 31 | display: inline-block; 32 | } 33 | 34 | .figure-img { 35 | margin-bottom: $spacer / 2; 36 | line-height: 1; 37 | } 38 | 39 | .figure-caption { 40 | @include font-size($figure-caption-font-size); 41 | color: $figure-caption-color; 42 | } 43 | -------------------------------------------------------------------------------- /ECommerceMVC/ViewModels/RegisterVM.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel.DataAnnotations; 2 | 3 | namespace ECommerceMVC.ViewModels 4 | { 5 | public class RegisterVM 6 | { 7 | [Key] 8 | [Display(Name = "Tên đăng nhập")] 9 | [Required(ErrorMessage = "*")] 10 | [MaxLength(20, ErrorMessage = "Tối đa 20 kí tự")] 11 | public string MaKh { get; set; } 12 | 13 | 14 | [Display(Name ="Mật khẩu")] 15 | [Required(ErrorMessage = "*")] 16 | [DataType(DataType.Password)] 17 | public string MatKhau { get; set; } 18 | 19 | [Display(Name ="Họ tên")] 20 | [Required(ErrorMessage = "*")] 21 | [MaxLength(50, ErrorMessage = "Tối đa 50 kí tự")] 22 | public string HoTen { get; set; } 23 | 24 | public bool GioiTinh { get; set; } = true; 25 | 26 | [Display(Name ="Ngày sinh")] 27 | [DataType(DataType.Date)] 28 | public DateTime? NgaySinh { get; set; } 29 | 30 | [Display(Name ="Địa chỉ")] 31 | [MaxLength(60, ErrorMessage = "Tối đa 60 kí tự")] 32 | public string DiaChi { get; set; } 33 | 34 | [Display(Name = "Điện thoại")] 35 | [MaxLength(24, ErrorMessage = "Tối đa 24 kí tự")] 36 | [RegularExpression(@"0[9875]\d{8}", ErrorMessage ="Chưa đúng định dạng di động Việt Nam")] 37 | public string DienThoai { get; set; } 38 | 39 | 40 | [EmailAddress(ErrorMessage ="Chưa đúng định dạng email")] 41 | public string Email { get; set; } 42 | 43 | public string? Hinh { get; set; } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /ECommerceMVC/Views/Home/PageNotFound.cshtml: -------------------------------------------------------------------------------- 1 | 2 | @{ 3 | ViewData["Title"] = "Page Not Found"; 4 | } 5 | 6 | 7 | 15 | 16 | 17 | 18 |
19 |
20 |
21 |
22 | 23 |

404

24 |

Page Not Found

25 |

@TempData["Message"]

26 |

We’re sorry, the page you have looked for does not exist in our website! Maybe go to our home page or try to use a search?

27 | Go Back To Home 28 |
29 |
30 |
31 |
32 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/_containers.scss: -------------------------------------------------------------------------------- 1 | // Container widths 2 | // 3 | // Set the container width, and override it for fixed navbars in media queries. 4 | 5 | @if $enable-grid-classes { 6 | // Single container class with breakpoint max-widths 7 | .container, 8 | // 100% wide container at all breakpoints 9 | .container-fluid { 10 | @include make-container(); 11 | } 12 | 13 | // Responsive containers that are 100% wide until a breakpoint 14 | @each $breakpoint, $container-max-width in $container-max-widths { 15 | .container-#{$breakpoint} { 16 | @extend .container-fluid; 17 | } 18 | 19 | @include media-breakpoint-up($breakpoint, $grid-breakpoints) { 20 | %responsive-container-#{$breakpoint} { 21 | max-width: $container-max-width; 22 | } 23 | 24 | // Extend each breakpoint which is smaller or equal to the current breakpoint 25 | $extend-breakpoint: true; 26 | 27 | @each $name, $width in $grid-breakpoints { 28 | @if ($extend-breakpoint) { 29 | .container#{breakpoint-infix($name, $grid-breakpoints)} { 30 | @extend %responsive-container-#{$breakpoint}; 31 | } 32 | 33 | // Once the current breakpoint is reached, stop extending 34 | @if ($breakpoint == $name) { 35 | $extend-breakpoint: false; 36 | } 37 | } 38 | } 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/_progress.scss: -------------------------------------------------------------------------------- 1 | // Disable animation if transitions are disabled 2 | 3 | // scss-docs-start progress-keyframes 4 | @if $enable-transitions { 5 | @keyframes progress-bar-stripes { 6 | 0% { background-position-x: $progress-height; } 7 | } 8 | } 9 | // scss-docs-end progress-keyframes 10 | 11 | .progress { 12 | display: flex; 13 | height: $progress-height; 14 | overflow: hidden; // force rounded corners by cropping it 15 | @include font-size($progress-font-size); 16 | background-color: $progress-bg; 17 | @include border-radius($progress-border-radius); 18 | @include box-shadow($progress-box-shadow); 19 | } 20 | 21 | .progress-bar { 22 | display: flex; 23 | flex-direction: column; 24 | justify-content: center; 25 | overflow: hidden; 26 | color: $progress-bar-color; 27 | text-align: center; 28 | white-space: nowrap; 29 | background-color: $progress-bar-bg; 30 | @include transition($progress-bar-transition); 31 | } 32 | 33 | .progress-bar-striped { 34 | @include gradient-striped(); 35 | background-size: $progress-height $progress-height; 36 | } 37 | 38 | @if $enable-transitions { 39 | .progress-bar-animated { 40 | animation: $progress-bar-animation-timing progress-bar-stripes; 41 | 42 | @if $enable-reduced-motion { 43 | @media (prefers-reduced-motion: reduce) { 44 | animation: none; 45 | } 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /ECommerceMVC/Helpers/DataEncryptionExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Security.Cryptography; 2 | using System.Text; 3 | 4 | namespace ECommerceMVC.Helpers 5 | { 6 | public static class DataEncryptionExtensions 7 | { 8 | #region [Hashing Extension] 9 | public static string ToSHA256Hash(this string password, string? saltKey) 10 | { 11 | var sha256 = SHA256.Create(); 12 | byte[] encryptedSHA256 = sha256.ComputeHash(Encoding.UTF8.GetBytes(string.Concat(password, saltKey))); 13 | sha256.Clear(); 14 | 15 | return Convert.ToBase64String(encryptedSHA256); 16 | } 17 | 18 | public static string ToSHA512Hash(this string password, string? saltKey) 19 | { 20 | SHA512Managed sha512 = new SHA512Managed(); 21 | byte[] encryptedSHA512 = sha512.ComputeHash(Encoding.UTF8.GetBytes(string.Concat(password, saltKey))); 22 | sha512.Clear(); 23 | 24 | return Convert.ToBase64String(encryptedSHA512); 25 | } 26 | 27 | public static string ToMd5Hash(this string password, string? saltKey) 28 | { 29 | using (var md5 = MD5.Create()) 30 | { 31 | byte[] data = md5.ComputeHash(Encoding.UTF8.GetBytes(string.Concat(password, saltKey))); 32 | StringBuilder sBuilder = new StringBuilder(); 33 | for (int i = 0; i < data.Length; i++) 34 | { 35 | sBuilder.Append(data[i].ToString("x2")); 36 | } 37 | 38 | return sBuilder.ToString(); 39 | } 40 | } 41 | 42 | #endregion 43 | 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /ECommerceMVC/Program.cs: -------------------------------------------------------------------------------- 1 | using ECommerceMVC.Data; 2 | using ECommerceMVC.Helpers; 3 | using Microsoft.EntityFrameworkCore; 4 | 5 | var builder = WebApplication.CreateBuilder(args); 6 | 7 | // Add services to the container. 8 | builder.Services.AddControllersWithViews(); 9 | builder.Services.AddDbContext(options => { 10 | options.UseSqlServer(builder.Configuration.GetConnectionString("HShop")); 11 | }); 12 | 13 | builder.Services.AddDistributedMemoryCache(); 14 | 15 | builder.Services.AddSession(options => 16 | { 17 | options.IdleTimeout = TimeSpan.FromMinutes(10); 18 | options.Cookie.HttpOnly = true; 19 | options.Cookie.IsEssential = true; 20 | }); 21 | 22 | // https://docs.automapper.org/en/stable/Dependency-injection.html 23 | builder.Services.AddAutoMapper(typeof(AutoMapperProfile)); 24 | 25 | var app = builder.Build(); 26 | 27 | // Configure the HTTP request pipeline. 28 | if (!app.Environment.IsDevelopment()) 29 | { 30 | app.UseExceptionHandler("/Home/Error"); 31 | // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. 32 | app.UseHsts(); 33 | } 34 | 35 | app.UseHttpsRedirection(); 36 | app.UseStaticFiles(); 37 | 38 | app.UseRouting(); 39 | 40 | app.UseSession(); 41 | 42 | app.UseAuthorization(); 43 | 44 | app.MapControllerRoute( 45 | name: "default", 46 | pattern: "{controller=Home}/{action=Index}/{id?}"); 47 | 48 | app.Run(); 49 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/_toasts.scss: -------------------------------------------------------------------------------- 1 | .toast { 2 | width: $toast-max-width; 3 | max-width: 100%; 4 | @include font-size($toast-font-size); 5 | color: $toast-color; 6 | pointer-events: auto; 7 | background-color: $toast-background-color; 8 | background-clip: padding-box; 9 | border: $toast-border-width solid $toast-border-color; 10 | box-shadow: $toast-box-shadow; 11 | @include border-radius($toast-border-radius); 12 | 13 | &:not(.showing):not(.show) { 14 | opacity: 0; 15 | } 16 | 17 | &.hide { 18 | display: none; 19 | } 20 | } 21 | 22 | .toast-container { 23 | width: max-content; 24 | max-width: 100%; 25 | pointer-events: none; 26 | 27 | > :not(:last-child) { 28 | margin-bottom: $toast-spacing; 29 | } 30 | } 31 | 32 | .toast-header { 33 | display: flex; 34 | align-items: center; 35 | padding: $toast-padding-y $toast-padding-x; 36 | color: $toast-header-color; 37 | background-color: $toast-header-background-color; 38 | background-clip: padding-box; 39 | border-bottom: $toast-border-width solid $toast-header-border-color; 40 | @include border-top-radius(subtract($toast-border-radius, $toast-border-width)); 41 | 42 | .btn-close { 43 | margin-right: $toast-padding-x / -2; 44 | margin-left: $toast-padding-x; 45 | } 46 | } 47 | 48 | .toast-body { 49 | padding: $toast-padding-x; // apply to both vertical and horizontal 50 | word-wrap: break-word; 51 | } 52 | -------------------------------------------------------------------------------- /ECommerceMVC/Controllers/KhachHangController.cs: -------------------------------------------------------------------------------- 1 | using AutoMapper; 2 | using ECommerceMVC.Data; 3 | using ECommerceMVC.Helpers; 4 | using ECommerceMVC.ViewModels; 5 | using Microsoft.AspNetCore.Mvc; 6 | 7 | namespace ECommerceMVC.Controllers 8 | { 9 | public class KhachHangController : Controller 10 | { 11 | private readonly Hshop2023Context db; 12 | private readonly IMapper _mapper; 13 | 14 | public KhachHangController(Hshop2023Context context, IMapper mapper) 15 | { 16 | db = context; 17 | _mapper = mapper; 18 | } 19 | 20 | [HttpGet] 21 | public IActionResult DangKy() 22 | { 23 | return View(); 24 | } 25 | 26 | [HttpPost] 27 | public IActionResult DangKy(RegisterVM model, IFormFile Hinh) 28 | { 29 | if (ModelState.IsValid) 30 | { 31 | try 32 | { 33 | var khachHang = _mapper.Map(model); 34 | khachHang.RandomKey = MyUtil.GenerateRamdomKey(); 35 | khachHang.MatKhau = model.MatKhau.ToMd5Hash(khachHang.RandomKey); 36 | khachHang.HieuLuc = true;//sẽ xử lý khi dùng Mail để active 37 | khachHang.VaiTro = 0; 38 | 39 | if (Hinh != null) 40 | { 41 | khachHang.Hinh = MyUtil.UploadHinh(Hinh, "KhachHang"); 42 | } 43 | 44 | db.Add(khachHang); 45 | db.SaveChanges(); 46 | return RedirectToAction("Index", "HangHoa"); 47 | } 48 | catch (Exception ex) 49 | { 50 | var mess = $"{ex.Message} shh"; 51 | } 52 | } 53 | return View(); 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/lib/owlcarousel/assets/owl.theme.green.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Owl Carousel v2.2.1 3 | * Copyright 2013-2017 David Deutsch 4 | * Licensed under () 5 | */ 6 | /* 7 | * Green theme - Owl Carousel CSS File 8 | */ 9 | .owl-theme .owl-nav { 10 | margin-top: 10px; 11 | text-align: center; 12 | -webkit-tap-highlight-color: transparent; } 13 | .owl-theme .owl-nav [class*='owl-'] { 14 | color: #FFF; 15 | font-size: 14px; 16 | margin: 5px; 17 | padding: 4px 7px; 18 | background: #D6D6D6; 19 | display: inline-block; 20 | cursor: pointer; 21 | border-radius: 3px; } 22 | .owl-theme .owl-nav [class*='owl-']:hover { 23 | background: #4DC7A0; 24 | color: #FFF; 25 | text-decoration: none; } 26 | .owl-theme .owl-nav .disabled { 27 | opacity: 0.5; 28 | cursor: default; } 29 | 30 | .owl-theme .owl-nav.disabled + .owl-dots { 31 | margin-top: 10px; } 32 | 33 | .owl-theme .owl-dots { 34 | text-align: center; 35 | -webkit-tap-highlight-color: transparent; } 36 | .owl-theme .owl-dots .owl-dot { 37 | display: inline-block; 38 | zoom: 1; 39 | *display: inline; } 40 | .owl-theme .owl-dots .owl-dot span { 41 | width: 10px; 42 | height: 10px; 43 | margin: 5px 7px; 44 | background: #D6D6D6; 45 | display: block; 46 | -webkit-backface-visibility: visible; 47 | transition: opacity 200ms ease; 48 | border-radius: 30px; } 49 | .owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span { 50 | background: #4DC7A0; } 51 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/lib/owlcarousel/assets/owl.theme.default.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Owl Carousel v2.2.1 3 | * Copyright 2013-2017 David Deutsch 4 | * Licensed under () 5 | */ 6 | /* 7 | * Default theme - Owl Carousel CSS File 8 | */ 9 | .owl-theme .owl-nav { 10 | margin-top: 10px; 11 | text-align: center; 12 | -webkit-tap-highlight-color: transparent; } 13 | .owl-theme .owl-nav [class*='owl-'] { 14 | color: #FFF; 15 | font-size: 14px; 16 | margin: 5px; 17 | padding: 4px 7px; 18 | background: #D6D6D6; 19 | display: inline-block; 20 | cursor: pointer; 21 | border-radius: 3px; } 22 | .owl-theme .owl-nav [class*='owl-']:hover { 23 | background: #869791; 24 | color: #FFF; 25 | text-decoration: none; } 26 | .owl-theme .owl-nav .disabled { 27 | opacity: 0.5; 28 | cursor: default; } 29 | 30 | .owl-theme .owl-nav.disabled + .owl-dots { 31 | margin-top: 10px; } 32 | 33 | .owl-theme .owl-dots { 34 | text-align: center; 35 | -webkit-tap-highlight-color: transparent; } 36 | .owl-theme .owl-dots .owl-dot { 37 | display: inline-block; 38 | zoom: 1; 39 | *display: inline; } 40 | .owl-theme .owl-dots .owl-dot span { 41 | width: 10px; 42 | height: 10px; 43 | margin: 5px 7px; 44 | background: #D6D6D6; 45 | display: block; 46 | -webkit-backface-visibility: visible; 47 | transition: opacity 200ms ease; 48 | border-radius: 30px; } 49 | .owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span { 50 | background: #869791; } 51 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/bootstrap-grid.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Grid v5.0.0 (https://getbootstrap.com/) 3 | * Copyright 2011-2021 The Bootstrap Authors 4 | * Copyright 2011-2021 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 6 | */ 7 | 8 | $include-column-box-sizing: true !default; 9 | 10 | @import "functions"; 11 | @import "variables"; 12 | 13 | @import "mixins/lists"; 14 | @import "mixins/breakpoints"; 15 | @import "mixins/container"; 16 | @import "mixins/grid"; 17 | @import "mixins/utilities"; 18 | 19 | @import "vendor/rfs"; 20 | 21 | @import "containers"; 22 | @import "grid"; 23 | 24 | @import "utilities"; 25 | // Only use the utilities we need 26 | // stylelint-disable-next-line scss/dollar-variable-default 27 | $utilities: map-get-multiple( 28 | $utilities, 29 | ( 30 | "display", 31 | "order", 32 | "flex", 33 | "flex-direction", 34 | "flex-grow", 35 | "flex-shrink", 36 | "flex-wrap", 37 | "justify-content", 38 | "align-items", 39 | "align-content", 40 | "align-self", 41 | "margin", 42 | "margin-x", 43 | "margin-y", 44 | "margin-top", 45 | "margin-end", 46 | "margin-bottom", 47 | "margin-start", 48 | "negative-margin", 49 | "negative-margin-x", 50 | "negative-margin-y", 51 | "negative-margin-top", 52 | "negative-margin-end", 53 | "negative-margin-bottom", 54 | "negative-margin-start", 55 | "padding", 56 | "padding-x", 57 | "padding-y", 58 | "padding-top", 59 | "padding-end", 60 | "padding-bottom", 61 | "padding-start", 62 | ) 63 | ); 64 | 65 | @import "utilities/api"; 66 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/_alert.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Base styles 3 | // 4 | 5 | .alert { 6 | position: relative; 7 | padding: $alert-padding-y $alert-padding-x; 8 | margin-bottom: $alert-margin-bottom; 9 | border: $alert-border-width solid transparent; 10 | @include border-radius($alert-border-radius); 11 | } 12 | 13 | // Headings for larger alerts 14 | .alert-heading { 15 | // Specified to prevent conflicts of changing $headings-color 16 | color: inherit; 17 | } 18 | 19 | // Provide class for links that match alerts 20 | .alert-link { 21 | font-weight: $alert-link-font-weight; 22 | } 23 | 24 | 25 | // Dismissible alerts 26 | // 27 | // Expand the right padding and account for the close button's positioning. 28 | 29 | .alert-dismissible { 30 | padding-right: $alert-dismissible-padding-r; 31 | 32 | // Adjust close link position 33 | .btn-close { 34 | position: absolute; 35 | top: 0; 36 | right: 0; 37 | z-index: $stretched-link-z-index + 1; 38 | padding: $alert-padding-y * 1.25 $alert-padding-x; 39 | } 40 | } 41 | 42 | 43 | // scss-docs-start alert-modifiers 44 | // Generate contextual modifier classes for colorizing the alert. 45 | 46 | @each $state, $value in $theme-colors { 47 | $alert-background: shift-color($value, $alert-bg-scale); 48 | $alert-border: shift-color($value, $alert-border-scale); 49 | $alert-color: shift-color($value, $alert-color-scale); 50 | @if (contrast-ratio($alert-background, $alert-color) < $min-contrast-ratio) { 51 | $alert-color: mix($value, color-contrast($alert-background), abs($alert-color-scale)); 52 | } 53 | .alert-#{$state} { 54 | @include alert-variant($alert-background, $alert-border, $alert-color); 55 | } 56 | } 57 | // scss-docs-end alert-modifiers 58 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/mixins/_caret.scss: -------------------------------------------------------------------------------- 1 | // scss-docs-start caret-mixins 2 | @mixin caret-down { 3 | border-top: $caret-width solid; 4 | border-right: $caret-width solid transparent; 5 | border-bottom: 0; 6 | border-left: $caret-width solid transparent; 7 | } 8 | 9 | @mixin caret-up { 10 | border-top: 0; 11 | border-right: $caret-width solid transparent; 12 | border-bottom: $caret-width solid; 13 | border-left: $caret-width solid transparent; 14 | } 15 | 16 | @mixin caret-end { 17 | border-top: $caret-width solid transparent; 18 | border-right: 0; 19 | border-bottom: $caret-width solid transparent; 20 | border-left: $caret-width solid; 21 | } 22 | 23 | @mixin caret-start { 24 | border-top: $caret-width solid transparent; 25 | border-right: $caret-width solid; 26 | border-bottom: $caret-width solid transparent; 27 | } 28 | 29 | @mixin caret($direction: down) { 30 | @if $enable-caret { 31 | &::after { 32 | display: inline-block; 33 | margin-left: $caret-spacing; 34 | vertical-align: $caret-vertical-align; 35 | content: ""; 36 | @if $direction == down { 37 | @include caret-down(); 38 | } @else if $direction == up { 39 | @include caret-up(); 40 | } @else if $direction == end { 41 | @include caret-end(); 42 | } 43 | } 44 | 45 | @if $direction == start { 46 | &::after { 47 | display: none; 48 | } 49 | 50 | &::before { 51 | display: inline-block; 52 | margin-right: $caret-spacing; 53 | vertical-align: $caret-vertical-align; 54 | content: ""; 55 | @include caret-start(); 56 | } 57 | } 58 | 59 | &:empty::after { 60 | margin-left: 0; 61 | } 62 | } 63 | } 64 | // scss-docs-end caret-mixins 65 | -------------------------------------------------------------------------------- /ECommerceMVC/Controllers/CartController.cs: -------------------------------------------------------------------------------- 1 | using ECommerceMVC.Data; 2 | using ECommerceMVC.ViewModels; 3 | using Microsoft.AspNetCore.Mvc; 4 | using ECommerceMVC.Helpers; 5 | 6 | namespace ECommerceMVC.Controllers 7 | { 8 | public class CartController : Controller 9 | { 10 | private readonly Hshop2023Context db; 11 | 12 | public CartController(Hshop2023Context context) 13 | { 14 | db = context; 15 | } 16 | 17 | public List Cart => HttpContext.Session.Get>(MySetting.CART_KEY) ?? new List(); 18 | 19 | public IActionResult Index() 20 | { 21 | return View(Cart); 22 | } 23 | 24 | public IActionResult AddToCart(int id, int quantity = 1) 25 | { 26 | var gioHang = Cart; 27 | var item = gioHang.SingleOrDefault(p => p.MaHh == id); 28 | if (item == null) 29 | { 30 | var hangHoa = db.HangHoas.SingleOrDefault(p => p.MaHh == id); 31 | if (hangHoa == null) 32 | { 33 | TempData["Message"] = $"Không tìm thấy hàng hóa có mã {id}"; 34 | return Redirect("/404"); 35 | } 36 | item = new CartItem 37 | { 38 | MaHh = hangHoa.MaHh, 39 | TenHH = hangHoa.TenHh, 40 | DonGia = hangHoa.DonGia ?? 0, 41 | Hinh = hangHoa.Hinh ?? string.Empty, 42 | SoLuong = quantity 43 | }; 44 | gioHang.Add(item); 45 | } 46 | else 47 | { 48 | item.SoLuong += quantity; 49 | } 50 | 51 | HttpContext.Session.Set(MySetting.CART_KEY, gioHang); 52 | 53 | return RedirectToAction("Index"); 54 | } 55 | 56 | public IActionResult RemoveCart(int id) 57 | { 58 | var gioHang = Cart; 59 | var item = gioHang.SingleOrDefault(p => p.MaHh == id); 60 | if (item != null) 61 | { 62 | gioHang.Remove(item); 63 | HttpContext.Session.Set(MySetting.CART_KEY, gioHang); 64 | } 65 | return RedirectToAction("Index"); 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/_spinners.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Rotating border 3 | // 4 | 5 | // scss-docs-start spinner-border-keyframes 6 | @keyframes spinner-border { 7 | to { transform: rotate(360deg) #{"/* rtl:ignore */"}; } 8 | } 9 | // scss-docs-end spinner-border-keyframes 10 | 11 | .spinner-border { 12 | display: inline-block; 13 | width: $spinner-width; 14 | height: $spinner-height; 15 | vertical-align: $spinner-vertical-align; 16 | border: $spinner-border-width solid currentColor; 17 | border-right-color: transparent; 18 | // stylelint-disable-next-line property-disallowed-list 19 | border-radius: 50%; 20 | animation: $spinner-animation-speed linear infinite spinner-border; 21 | } 22 | 23 | .spinner-border-sm { 24 | width: $spinner-width-sm; 25 | height: $spinner-height-sm; 26 | border-width: $spinner-border-width-sm; 27 | } 28 | 29 | // 30 | // Growing circle 31 | // 32 | 33 | // scss-docs-start spinner-grow-keyframes 34 | @keyframes spinner-grow { 35 | 0% { 36 | transform: scale(0); 37 | } 38 | 50% { 39 | opacity: 1; 40 | transform: none; 41 | } 42 | } 43 | // scss-docs-end spinner-grow-keyframes 44 | 45 | .spinner-grow { 46 | display: inline-block; 47 | width: $spinner-width; 48 | height: $spinner-height; 49 | vertical-align: $spinner-vertical-align; 50 | background-color: currentColor; 51 | // stylelint-disable-next-line property-disallowed-list 52 | border-radius: 50%; 53 | opacity: 0; 54 | animation: $spinner-animation-speed linear infinite spinner-grow; 55 | } 56 | 57 | .spinner-grow-sm { 58 | width: $spinner-width-sm; 59 | height: $spinner-height-sm; 60 | } 61 | 62 | @if $enable-reduced-motion { 63 | @media (prefers-reduced-motion: reduce) { 64 | .spinner-border, 65 | .spinner-grow { 66 | animation-duration: $spinner-animation-speed * 2; 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/_type.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Headings 3 | // 4 | .h1 { 5 | @extend h1; 6 | } 7 | 8 | .h2 { 9 | @extend h2; 10 | } 11 | 12 | .h3 { 13 | @extend h3; 14 | } 15 | 16 | .h4 { 17 | @extend h4; 18 | } 19 | 20 | .h5 { 21 | @extend h5; 22 | } 23 | 24 | .h6 { 25 | @extend h6; 26 | } 27 | 28 | 29 | .lead { 30 | @include font-size($lead-font-size); 31 | font-weight: $lead-font-weight; 32 | } 33 | 34 | // Type display classes 35 | @each $display, $font-size in $display-font-sizes { 36 | .display-#{$display} { 37 | @include font-size($font-size); 38 | font-weight: $display-font-weight; 39 | line-height: $display-line-height; 40 | } 41 | } 42 | 43 | // 44 | // Emphasis 45 | // 46 | .small { 47 | @extend small; 48 | } 49 | 50 | .mark { 51 | @extend mark; 52 | } 53 | 54 | // 55 | // Lists 56 | // 57 | 58 | .list-unstyled { 59 | @include list-unstyled(); 60 | } 61 | 62 | // Inline turns list items into inline-block 63 | .list-inline { 64 | @include list-unstyled(); 65 | } 66 | .list-inline-item { 67 | display: inline-block; 68 | 69 | &:not(:last-child) { 70 | margin-right: $list-inline-padding; 71 | } 72 | } 73 | 74 | 75 | // 76 | // Misc 77 | // 78 | 79 | // Builds on `abbr` 80 | .initialism { 81 | @include font-size($initialism-font-size); 82 | text-transform: uppercase; 83 | } 84 | 85 | // Blockquotes 86 | .blockquote { 87 | margin-bottom: $blockquote-margin-y; 88 | @include font-size($blockquote-font-size); 89 | 90 | > :last-child { 91 | margin-bottom: 0; 92 | } 93 | } 94 | 95 | .blockquote-footer { 96 | margin-top: -$blockquote-margin-y; 97 | margin-bottom: $blockquote-margin-y; 98 | @include font-size($blockquote-footer-font-size); 99 | color: $blockquote-footer-color; 100 | 101 | &::before { 102 | content: "\2014\00A0"; // em dash, nbsp 103 | } 104 | } 105 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/utilities/_api.scss: -------------------------------------------------------------------------------- 1 | // Loop over each breakpoint 2 | @each $breakpoint in map-keys($grid-breakpoints) { 3 | 4 | // Generate media query if needed 5 | @include media-breakpoint-up($breakpoint) { 6 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 7 | 8 | // Loop over each utility property 9 | @each $key, $utility in $utilities { 10 | // The utility can be disabled with `false`, thus check if the utility is a map first 11 | // Only proceed if responsive media queries are enabled or if it's the base media query 12 | @if type-of($utility) == "map" and (map-get($utility, responsive) or $infix == "") { 13 | @include generate-utility($utility, $infix); 14 | } 15 | } 16 | } 17 | } 18 | 19 | // RFS rescaling 20 | @media (min-width: $rfs-mq-value) { 21 | @each $breakpoint in map-keys($grid-breakpoints) { 22 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 23 | 24 | @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) { 25 | // Loop over each utility property 26 | @each $key, $utility in $utilities { 27 | // The utility can be disabled with `false`, thus check if the utility is a map first 28 | // Only proceed if responsive media queries are enabled or if it's the base media query 29 | @if type-of($utility) == "map" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == "") { 30 | @include generate-utility($utility, $infix, true); 31 | } 32 | } 33 | } 34 | } 35 | } 36 | 37 | 38 | // Print utilities 39 | @media print { 40 | @each $key, $utility in $utilities { 41 | // The utility can be disabled with `false`, thus check if the utility is a map first 42 | // Then check if the utility needs print styles 43 | @if type-of($utility) == "map" and map-get($utility, print) == true { 44 | @include generate-utility($utility, "-print"); 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/_pagination.scss: -------------------------------------------------------------------------------- 1 | .pagination { 2 | display: flex; 3 | @include list-unstyled(); 4 | } 5 | 6 | .page-link { 7 | position: relative; 8 | display: block; 9 | color: $pagination-color; 10 | text-decoration: if($link-decoration == none, null, none); 11 | background-color: $pagination-bg; 12 | border: $pagination-border-width solid $pagination-border-color; 13 | @include transition($pagination-transition); 14 | 15 | &:hover { 16 | z-index: 2; 17 | color: $pagination-hover-color; 18 | text-decoration: if($link-hover-decoration == underline, none, null); 19 | background-color: $pagination-hover-bg; 20 | border-color: $pagination-hover-border-color; 21 | } 22 | 23 | &:focus { 24 | z-index: 3; 25 | color: $pagination-focus-color; 26 | background-color: $pagination-focus-bg; 27 | outline: $pagination-focus-outline; 28 | box-shadow: $pagination-focus-box-shadow; 29 | } 30 | } 31 | 32 | .page-item { 33 | &:not(:first-child) .page-link { 34 | margin-left: $pagination-margin-start; 35 | } 36 | 37 | &.active .page-link { 38 | z-index: 3; 39 | color: $pagination-active-color; 40 | @include gradient-bg($pagination-active-bg); 41 | border-color: $pagination-active-border-color; 42 | } 43 | 44 | &.disabled .page-link { 45 | color: $pagination-disabled-color; 46 | pointer-events: none; 47 | background-color: $pagination-disabled-bg; 48 | border-color: $pagination-disabled-border-color; 49 | } 50 | } 51 | 52 | 53 | // 54 | // Sizing 55 | // 56 | @include pagination-size($pagination-padding-y, $pagination-padding-x, null, $pagination-border-radius); 57 | 58 | .pagination-lg { 59 | @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $pagination-border-radius-lg); 60 | } 61 | 62 | .pagination-sm { 63 | @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $pagination-border-radius-sm); 64 | } 65 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/forms/_floating-labels.scss: -------------------------------------------------------------------------------- 1 | .form-floating { 2 | position: relative; 3 | 4 | > .form-control, 5 | > .form-select { 6 | height: $form-floating-height; 7 | padding: $form-floating-padding-y $form-floating-padding-x; 8 | } 9 | 10 | > label { 11 | position: absolute; 12 | top: 0; 13 | left: 0; 14 | height: 100%; // allow textareas 15 | padding: $form-floating-padding-y $form-floating-padding-x; 16 | pointer-events: none; 17 | border: $input-border-width solid transparent; // Required for aligning label's text with the input as it affects inner box model 18 | transform-origin: 0 0; 19 | @include transition($form-floating-transition); 20 | } 21 | 22 | // stylelint-disable no-duplicate-selectors 23 | > .form-control { 24 | &::placeholder { 25 | color: transparent; 26 | } 27 | 28 | &:focus, 29 | &:not(:placeholder-shown) { 30 | padding-top: $form-floating-input-padding-t; 31 | padding-bottom: $form-floating-input-padding-b; 32 | } 33 | // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped 34 | &:-webkit-autofill { 35 | padding-top: $form-floating-input-padding-t; 36 | padding-bottom: $form-floating-input-padding-b; 37 | } 38 | } 39 | 40 | > .form-select { 41 | padding-top: $form-floating-input-padding-t; 42 | padding-bottom: $form-floating-input-padding-b; 43 | } 44 | 45 | > .form-control:focus, 46 | > .form-control:not(:placeholder-shown), 47 | > .form-select { 48 | ~ label { 49 | opacity: $form-floating-label-opacity; 50 | transform: $form-floating-label-transform; 51 | } 52 | } 53 | // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped 54 | > .form-control:-webkit-autofill { 55 | ~ label { 56 | opacity: $form-floating-label-opacity; 57 | transform: $form-floating-label-transform; 58 | } 59 | } 60 | // stylelint-enable no-duplicate-selectors 61 | } 62 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/_offcanvas.scss: -------------------------------------------------------------------------------- 1 | .offcanvas { 2 | position: fixed; 3 | bottom: 0; 4 | z-index: $zindex-offcanvas; 5 | display: flex; 6 | flex-direction: column; 7 | max-width: 100%; 8 | color: $offcanvas-color; 9 | visibility: hidden; 10 | background-color: $offcanvas-bg-color; 11 | background-clip: padding-box; 12 | outline: 0; 13 | @include box-shadow($offcanvas-box-shadow); 14 | @include transition(transform $offcanvas-transition-duration ease-in-out); 15 | } 16 | 17 | .offcanvas-header { 18 | display: flex; 19 | align-items: center; 20 | justify-content: space-between; 21 | padding: $offcanvas-padding-y $offcanvas-padding-x; 22 | 23 | .btn-close { 24 | padding: ($offcanvas-padding-y / 2) ($offcanvas-padding-x / 2); 25 | margin: ($offcanvas-padding-y / -2) ($offcanvas-padding-x / -2) ($offcanvas-padding-y / -2) auto; 26 | } 27 | } 28 | 29 | .offcanvas-title { 30 | margin-bottom: 0; 31 | line-height: $offcanvas-title-line-height; 32 | } 33 | 34 | .offcanvas-body { 35 | flex-grow: 1; 36 | padding: $offcanvas-padding-y $offcanvas-padding-x; 37 | overflow-y: auto; 38 | } 39 | 40 | .offcanvas-start { 41 | top: 0; 42 | left: 0; 43 | width: $offcanvas-horizontal-width; 44 | border-right: $offcanvas-border-width solid $offcanvas-border-color; 45 | transform: translateX(-100%); 46 | } 47 | 48 | .offcanvas-end { 49 | top: 0; 50 | right: 0; 51 | width: $offcanvas-horizontal-width; 52 | border-left: $offcanvas-border-width solid $offcanvas-border-color; 53 | transform: translateX(100%); 54 | } 55 | 56 | .offcanvas-top { 57 | top: 0; 58 | right: 0; 59 | left: 0; 60 | height: $offcanvas-vertical-height; 61 | max-height: 100%; 62 | border-bottom: $offcanvas-border-width solid $offcanvas-border-color; 63 | transform: translateY(-100%); 64 | } 65 | 66 | .offcanvas-bottom { 67 | right: 0; 68 | left: 0; 69 | height: $offcanvas-vertical-height; 70 | max-height: 100%; 71 | border-top: $offcanvas-border-width solid $offcanvas-border-color; 72 | transform: translateY(100%); 73 | } 74 | 75 | .offcanvas.show { 76 | transform: none; 77 | } 78 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/mixins/_gradients.scss: -------------------------------------------------------------------------------- 1 | // Gradients 2 | 3 | // scss-docs-start gradient-bg-mixin 4 | @mixin gradient-bg($color: null) { 5 | background-color: $color; 6 | 7 | @if $enable-gradients { 8 | background-image: var(--#{$variable-prefix}gradient); 9 | } 10 | } 11 | // scss-docs-end gradient-bg-mixin 12 | 13 | // scss-docs-start gradient-mixins 14 | // Horizontal gradient, from left to right 15 | // 16 | // Creates two color stops, start and end, by specifying a color and position for each color stop. 17 | @mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) { 18 | background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent); 19 | } 20 | 21 | // Vertical gradient, from top to bottom 22 | // 23 | // Creates two color stops, start and end, by specifying a color and position for each color stop. 24 | @mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: null, $end-percent: null) { 25 | background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); 26 | } 27 | 28 | @mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) { 29 | background-image: linear-gradient($deg, $start-color, $end-color); 30 | } 31 | 32 | @mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) { 33 | background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color); 34 | } 35 | 36 | @mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) { 37 | background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color); 38 | } 39 | 40 | @mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) { 41 | background-image: radial-gradient(circle, $inner-color, $outer-color); 42 | } 43 | 44 | @mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) { 45 | background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent); 46 | } 47 | // scss-docs-end gradient-mixins 48 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/lib/easing/easing.min.js: -------------------------------------------------------------------------------- 1 | !function(n){"function"==typeof define&&define.amd?define(["jquery"],function(e){return n(e)}):"object"==typeof module&&"object"==typeof module.exports?exports=n(require("jquery")):n(jQuery)}(function(n){function e(n){var e=7.5625,t=2.75;return n<1/t?e*n*n:n<2/t?e*(n-=1.5/t)*n+.75:n<2.5/t?e*(n-=2.25/t)*n+.9375:e*(n-=2.625/t)*n+.984375}void 0!==n.easing&&(n.easing.jswing=n.easing.swing);var t=Math.pow,u=Math.sqrt,r=Math.sin,i=Math.cos,a=Math.PI,c=1.70158,o=1.525*c,s=2*a/3,f=2*a/4.5;n.extend(n.easing,{def:"easeOutQuad",swing:function(e){return n.easing[n.easing.def](e)},easeInQuad:function(n){return n*n},easeOutQuad:function(n){return 1-(1-n)*(1-n)},easeInOutQuad:function(n){return n<.5?2*n*n:1-t(-2*n+2,2)/2},easeInCubic:function(n){return n*n*n},easeOutCubic:function(n){return 1-t(1-n,3)},easeInOutCubic:function(n){return n<.5?4*n*n*n:1-t(-2*n+2,3)/2},easeInQuart:function(n){return n*n*n*n},easeOutQuart:function(n){return 1-t(1-n,4)},easeInOutQuart:function(n){return n<.5?8*n*n*n*n:1-t(-2*n+2,4)/2},easeInQuint:function(n){return n*n*n*n*n},easeOutQuint:function(n){return 1-t(1-n,5)},easeInOutQuint:function(n){return n<.5?16*n*n*n*n*n:1-t(-2*n+2,5)/2},easeInSine:function(n){return 1-i(n*a/2)},easeOutSine:function(n){return r(n*a/2)},easeInOutSine:function(n){return-(i(a*n)-1)/2},easeInExpo:function(n){return 0===n?0:t(2,10*n-10)},easeOutExpo:function(n){return 1===n?1:1-t(2,-10*n)},easeInOutExpo:function(n){return 0===n?0:1===n?1:n<.5?t(2,20*n-10)/2:(2-t(2,-20*n+10))/2},easeInCirc:function(n){return 1-u(1-t(n,2))},easeOutCirc:function(n){return u(1-t(n-1,2))},easeInOutCirc:function(n){return n<.5?(1-u(1-t(2*n,2)))/2:(u(1-t(-2*n+2,2))+1)/2},easeInElastic:function(n){return 0===n?0:1===n?1:-t(2,10*n-10)*r((10*n-10.75)*s)},easeOutElastic:function(n){return 0===n?0:1===n?1:t(2,-10*n)*r((10*n-.75)*s)+1},easeInOutElastic:function(n){return 0===n?0:1===n?1:n<.5?-(t(2,20*n-10)*r((20*n-11.125)*f))/2:t(2,-20*n+10)*r((20*n-11.125)*f)/2+1},easeInBack:function(n){return(c+1)*n*n*n-c*n*n},easeOutBack:function(n){return 1+(c+1)*t(n-1,3)+c*t(n-1,2)},easeInOutBack:function(n){return n<.5?t(2*n,2)*(7.189819*n-o)/2:(t(2*n-2,2)*((o+1)*(2*n-2)+o)+2)/2},easeInBounce:function(n){return 1-e(1-n)},easeOutBounce:e,easeInOutBounce:function(n){return n<.5?(1-e(1-2*n))/2:(1+e(2*n-1))/2}})}); 2 | -------------------------------------------------------------------------------- /ECommerceMVC/Controllers/HangHoaController.cs: -------------------------------------------------------------------------------- 1 | using ECommerceMVC.Data; 2 | using ECommerceMVC.ViewModels; 3 | using Microsoft.AspNetCore.Mvc; 4 | using Microsoft.EntityFrameworkCore; 5 | 6 | namespace ECommerceMVC.Controllers 7 | { 8 | public class HangHoaController : Controller 9 | { 10 | private readonly Hshop2023Context db; 11 | 12 | public HangHoaController(Hshop2023Context conetxt) 13 | { 14 | db = conetxt; 15 | } 16 | 17 | public IActionResult Index(int? loai) 18 | { 19 | var hangHoas = db.HangHoas.AsQueryable(); 20 | 21 | if (loai.HasValue) 22 | { 23 | hangHoas = hangHoas.Where(p => p.MaLoai == loai.Value); 24 | } 25 | 26 | var result = hangHoas.Select(p => new HangHoaVM 27 | { 28 | MaHh = p.MaHh, 29 | TenHH = p.TenHh, 30 | DonGia = p.DonGia ?? 0, 31 | Hinh = p.Hinh ?? "", 32 | MoTaNgan = p.MoTaDonVi ?? "", 33 | TenLoai = p.MaLoaiNavigation.TenLoai 34 | }); 35 | return View(result); 36 | } 37 | 38 | public IActionResult Search(string? query) 39 | { 40 | var hangHoas = db.HangHoas.AsQueryable(); 41 | 42 | if (query != null) 43 | { 44 | hangHoas = hangHoas.Where(p => p.TenHh.Contains(query)); 45 | } 46 | 47 | var result = hangHoas.Select(p => new HangHoaVM 48 | { 49 | MaHh = p.MaHh, 50 | TenHH = p.TenHh, 51 | DonGia = p.DonGia ?? 0, 52 | Hinh = p.Hinh ?? "", 53 | MoTaNgan = p.MoTaDonVi ?? "", 54 | TenLoai = p.MaLoaiNavigation.TenLoai 55 | }); 56 | return View(result); 57 | } 58 | 59 | 60 | public IActionResult Detail(int id) 61 | { 62 | var data = db.HangHoas 63 | .Include(p => p.MaLoaiNavigation) 64 | .SingleOrDefault(p => p.MaHh == id); 65 | if (data == null) 66 | { 67 | TempData["Message"] = $"Không thấy sản phẩm có mã {id}"; 68 | return Redirect("/404"); 69 | } 70 | 71 | var result = new ChiTietHangHoaVM 72 | { 73 | MaHh = data.MaHh, 74 | TenHH = data.TenHh, 75 | DonGia = data.DonGia ?? 0, 76 | ChiTiet = data.MoTa ?? string.Empty, 77 | Hinh = data.Hinh ?? string.Empty, 78 | MoTaNgan = data.MoTaDonVi ?? string.Empty, 79 | TenLoai = data.MaLoaiNavigation.TenLoai, 80 | SoLuongTon = 10,//tính sau 81 | DiemDanhGia = 5,//check sau 82 | }; 83 | return View(result); 84 | } 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/forms/_form-select.scss: -------------------------------------------------------------------------------- 1 | // Select 2 | // 3 | // Replaces the browser default select with a custom one, mostly pulled from 4 | // https://primer.github.io/. 5 | 6 | .form-select { 7 | display: block; 8 | width: 100%; 9 | padding: $form-select-padding-y $form-select-indicator-padding $form-select-padding-y $form-select-padding-x; 10 | font-family: $form-select-font-family; 11 | @include font-size($form-select-font-size); 12 | font-weight: $form-select-font-weight; 13 | line-height: $form-select-line-height; 14 | color: $form-select-color; 15 | background-color: $form-select-bg; 16 | background-image: escape-svg($form-select-indicator); 17 | background-repeat: no-repeat; 18 | background-position: $form-select-bg-position; 19 | background-size: $form-select-bg-size; 20 | border: $form-select-border-width solid $form-select-border-color; 21 | @include border-radius($form-select-border-radius, 0); 22 | @include box-shadow($form-select-box-shadow); 23 | appearance: none; 24 | 25 | &:focus { 26 | border-color: $form-select-focus-border-color; 27 | outline: 0; 28 | @if $enable-shadows { 29 | @include box-shadow($form-select-box-shadow, $form-select-focus-box-shadow); 30 | } @else { 31 | // Avoid using mixin so we can pass custom focus shadow properly 32 | box-shadow: $form-select-focus-box-shadow; 33 | } 34 | } 35 | 36 | &[multiple], 37 | &[size]:not([size="1"]) { 38 | padding-right: $form-select-padding-x; 39 | background-image: none; 40 | } 41 | 42 | &:disabled { 43 | color: $form-select-disabled-color; 44 | background-color: $form-select-disabled-bg; 45 | border-color: $form-select-disabled-border-color; 46 | } 47 | 48 | // Remove outline from select box in FF 49 | &:-moz-focusring { 50 | color: transparent; 51 | text-shadow: 0 0 0 $form-select-color; 52 | } 53 | } 54 | 55 | .form-select-sm { 56 | padding-top: $form-select-padding-y-sm; 57 | padding-bottom: $form-select-padding-y-sm; 58 | padding-left: $form-select-padding-x-sm; 59 | @include font-size($form-select-font-size-sm); 60 | } 61 | 62 | .form-select-lg { 63 | padding-top: $form-select-padding-y-lg; 64 | padding-bottom: $form-select-padding-y-lg; 65 | padding-left: $form-select-padding-x-lg; 66 | @include font-size($form-select-font-size-lg); 67 | } 68 | -------------------------------------------------------------------------------- /ECommerceMVC/wwwroot/scss/bootstrap/scss/mixins/_border-radius.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable property-disallowed-list 2 | // Single side border-radius 3 | 4 | // Helper function to replace negative values with 0 5 | @function valid-radius($radius) { 6 | $return: (); 7 | @each $value in $radius { 8 | @if type-of($value) == number { 9 | $return: append($return, max($value, 0)); 10 | } @else { 11 | $return: append($return, $value); 12 | } 13 | } 14 | @return $return; 15 | } 16 | 17 | // scss-docs-start border-radius-mixins 18 | @mixin border-radius($radius: $border-radius, $fallback-border-radius: false) { 19 | @if $enable-rounded { 20 | border-radius: valid-radius($radius); 21 | } 22 | @else if $fallback-border-radius != false { 23 | border-radius: $fallback-border-radius; 24 | } 25 | } 26 | 27 | @mixin border-top-radius($radius: $border-radius) { 28 | @if $enable-rounded { 29 | border-top-left-radius: valid-radius($radius); 30 | border-top-right-radius: valid-radius($radius); 31 | } 32 | } 33 | 34 | @mixin border-end-radius($radius: $border-radius) { 35 | @if $enable-rounded { 36 | border-top-right-radius: valid-radius($radius); 37 | border-bottom-right-radius: valid-radius($radius); 38 | } 39 | } 40 | 41 | @mixin border-bottom-radius($radius: $border-radius) { 42 | @if $enable-rounded { 43 | border-bottom-right-radius: valid-radius($radius); 44 | border-bottom-left-radius: valid-radius($radius); 45 | } 46 | } 47 | 48 | @mixin border-start-radius($radius: $border-radius) { 49 | @if $enable-rounded { 50 | border-top-left-radius: valid-radius($radius); 51 | border-bottom-left-radius: valid-radius($radius); 52 | } 53 | } 54 | 55 | @mixin border-top-start-radius($radius: $border-radius) { 56 | @if $enable-rounded { 57 | border-top-left-radius: valid-radius($radius); 58 | } 59 | } 60 | 61 | @mixin border-top-end-radius($radius: $border-radius) { 62 | @if $enable-rounded { 63 | border-top-right-radius: valid-radius($radius); 64 | } 65 | } 66 | 67 | @mixin border-bottom-end-radius($radius: $border-radius) { 68 | @if $enable-rounded { 69 | border-bottom-right-radius: valid-radius($radius); 70 | } 71 | } 72 | 73 | @mixin border-bottom-start-radius($radius: $border-radius) { 74 | @if $enable-rounded { 75 | border-bottom-left-radius: valid-radius($radius); 76 | } 77 | } 78 | // scss-docs-end border-radius-mixins 79 | --------------------------------------------------------------------------------