Beispiel #1
0
        public List <Kichthuoc> LayKichThuoc(int maspp)
        {
            var dbContext = new shopContext();
            var kichthuoc = (from kt in dbContext.Kichthuoc
                             join sp in dbContext.Sanpham
                             on kt.SanPhamId equals sp.SanPhamId
                             where kt.SanPhamId == maspp
                             select new
            {
                SanPhamId = sp.SanPhamId,
                TenSanPham = sp.TenSanPham,
                KichThuocId = kt.KichThuocid,
                TenKichThuoc = kt.TenKichThuoc,
                GiaBanLe = sp.GiaBanLe,
                GiaThem = kt.GiaThem,
            });
            List <Kichthuoc> ListKT = new List <Kichthuoc>();

            foreach (var item in kichthuoc)
            {
                Sanpham sp = new Sanpham();
                sp.SanPhamId  = item.SanPhamId;
                sp.GiaBanLe   = item.GiaBanLe;
                sp.TenSanPham = item.TenSanPham;
                Kichthuoc kt = new Kichthuoc();
                kt.TenKichThuoc = item.TenKichThuoc;
                kt.KichThuocid  = item.KichThuocId;
                kt.GiaThem      = item.GiaThem;
                kt.SanPham      = sp;
                ListKT.Add(kt);
            }

            return(ListKT);
        }
Beispiel #2
0
        public IActionResult ThemSanPham(Sanpham model, string TenAnh, string[] tenKichThuoc, float[] giaThem)
        {
            var dbContext = new shopContext();

            if (ModelState.IsValid)
            {
                // thêm ảnh vào table hinhanh
                var hinhanh = new Hinhanh()
                {
                    TenFile = TenAnh
                };
                dbContext.Hinhanh.Add(hinhanh);
                dbContext.SaveChanges();
                //lấy id của ảnh
                var anh = (from ha in dbContext.Hinhanh
                           where ha.TenFile == TenAnh
                           select ha).ToList();
                //thêm sản phẩm
                var sanpham = new Sanpham()
                {
                    TenSanPham  = model.TenSanPham,
                    Mota        = model.Mota,
                    GiaBanLe    = model.GiaBanLe,
                    TrangThai   = model.TrangThai,
                    PhanLoaiId  = model.PhanLoaiId,
                    KhuyenMaiId = model.KhuyenMaiId,
                    HinhAnhId   = anh[0].HinhAnhId
                };
                dbContext.Sanpham.Add(sanpham);
                dbContext.SaveChanges();
                //thêm kích thước vào bảng kichthuoc
                var x = (from sp in dbContext.Sanpham
                         where sp.TenSanPham == model.TenSanPham
                         select sp).ToList();
                for (int i = 0; i < tenKichThuoc.Length; i++)
                {
                    var kichthuoc = new Kichthuoc()
                    {
                        SanPhamId    = x[0].SanPhamId,
                        TenKichThuoc = tenKichThuoc[i],
                        GiaThem      = giaThem[i]
                    };
                    dbContext.Kichthuoc.Add(kichthuoc);
                    dbContext.SaveChanges();
                }
                return(RedirectToAction("Themsanpham", "sanpham", new { success = "Thêm sản phẩm thành công" }));
            }
            return(RedirectToAction("Themsanpham", "sanpham", new { error = "Thêm sản phẩm không thành công" }));
        }
Beispiel #3
0
        public void Create(Kichthuoc_Model model)
        {
            var data = Connect_Enttity.Kichthuocs.FirstOrDefault(x => x.ID == model.ID);

            if (data == null)
            {
                var entity = new Kichthuoc();
                entity.Kichthuoc1 = model.Kichthuoc1;
                entity.Vitri      = (int)(model.Vitri);
                entity.Active     = (bool)(model.Active);

                Connect_Enttity.Kichthuocs.Add(entity);
                Connect_Enttity.SaveChanges();
                Dispose();
            }
        }
        public IActionResult XemChiTietHoaDon(int id)
        {
            var dbContext = new shopContext();
            var cthd      = (from ct in dbContext.Chitiethoadon
                             join sp in dbContext.Sanpham
                             on ct.SanPhamId equals sp.SanPhamId
                             join kt in dbContext.Kichthuoc
                             on ct.KichThuocId equals kt.KichThuocid
                             join ha in dbContext.Hinhanh
                             on sp.HinhAnhId equals ha.HinhAnhId
                             where ct.HoaDonId == id
                             select new{
                tensp = sp.TenSanPham,
                soluong = ct.SoLuong,
                Tenkichthuoc = kt.TenKichThuoc,
                giatien = ct.TongTien,
                tienkm = ct.TienKhuyenMai,
                tiensaukm = ct.TongSauKm,
                hinhanh = ha.TenFile
            });
            List <Chitiethoadon> dsChiTiet = new List <Chitiethoadon>();

            foreach (var item in cthd)
            {
                Chitiethoadon ct = new Chitiethoadon();
                Hinhanh       ha = new Hinhanh();
                Sanpham       sp = new Sanpham();
                Kichthuoc     kt = new Kichthuoc();
                sp.TenSanPham    = item.tensp;
                ct.SoLuong       = item.soluong;
                kt.TenKichThuoc  = item.Tenkichthuoc;
                ct.TongTien      = item.giatien;
                ct.TienKhuyenMai = item.tienkm;
                ct.TongSauKm     = item.tiensaukm;
                ha.TenFile       = item.hinhanh;
                sp.HinhAnh       = ha;
                ct.SanPham       = sp;
                ct.KichThuoc     = kt;
                dsChiTiet.Add(ct);
            }
            ViewBag.chitiet  = dsChiTiet;
            ViewBag.idHoaDon = id;
            return(View());
        }
Beispiel #5
0
        public List <Chitiethoadon> LuuGioHang(int maspp, int soluong, int kichthuocId)
        {
            var dbContext = new shopContext();
            // string idSession = HttpContext.Session.GetString("idSession");
            var sanPham = (from sp in dbContext.Sanpham
                           where sp.SanPhamId == maspp
                           select sp).ToList();

            List <Chitiethoadon> chiTietHoaDons = JsonConvert.DeserializeObject <List <Chitiethoadon> >(HttpContext.Session.GetString("gioHangSession"));

            // nếu số lượng là 0 thì hủy sản phẩm trong giỏ hàng

            if (soluong == 0)
            {
                for (int i = 0; i < chiTietHoaDons.Count(); i++)
                {
                    if (chiTietHoaDons[i].SanPhamId == maspp)
                    {
                        chiTietHoaDons.RemoveAt(i);
                    }
                }
                HttpContext.Session.SetString("gioHangSession", JsonConvert.SerializeObject(chiTietHoaDons));
            }
            else
            {
                // lay gia them khi thay doi kich thuoc
                var kichthuoc = (from kt in dbContext.Kichthuoc where kt.KichThuocid == kichthuocId select kt).ToList();
                // kiem tra gio hang co ton tai san pham nay chua
                int flag = 0;
                for (int i = 0; i < chiTietHoaDons.Count(); i++)
                {
                    if (chiTietHoaDons[i].SanPhamId == maspp)
                    {
                        flag = 1;
                    }
                }

                //neu gio hang chua co san pham nay
                if (flag == 0)
                {
                    float?phanTramGiam = 0;
                    if (sanPham[0].KhuyenMaiId != null)
                    {
                        var km = (from x in dbContext.Khuyenmai
                                  where x.KhuyenMaiId == sanPham[0].KhuyenMaiId
                                  select x).ToList();
                        phanTramGiam = km[0].PhanTramGiam;
                        // phanTramGiam = sanPham[0].KhuyenMai.PhanTramGiam;
                    }
                    Chitiethoadon cthd = new Chitiethoadon();
                    cthd.SanPhamId   = maspp;
                    cthd.SoLuong     = soluong;
                    cthd.KichThuocId = kichthuocId;
                    cthd.TongTien    = sanPham[0].GiaBanLe * soluong - soluong * phanTramGiam * sanPham[0].GiaBanLe + soluong * kichthuoc[0].GiaThem;
                    chiTietHoaDons.Add(cthd);
                    HttpContext.Session.SetString("gioHangSession", JsonConvert.SerializeObject(chiTietHoaDons));
                }
                // neu gio hang da ton tai san pham nay
                else
                {
                    for (int i = 0; i < chiTietHoaDons.Count(); i++)
                    {
                        if (chiTietHoaDons[i].SanPhamId == maspp)
                        {
                            float?phanTramGiam = 0;
                            if (sanPham[0].KhuyenMaiId != null)
                            {
                                // phanTramGiam = sanPham[0].KhuyenMai.PhanTramGiam;
                                var km = (from x in dbContext.Khuyenmai
                                          where x.KhuyenMaiId == sanPham[0].KhuyenMaiId
                                          select x).ToList();
                                phanTramGiam = km[0].PhanTramGiam;
                            }
                            chiTietHoaDons[i].KichThuocId = kichthuocId;
                            chiTietHoaDons[i].SoLuong     = soluong;
                            chiTietHoaDons[i].TongTien    = soluong * sanPham[0].GiaBanLe - soluong * phanTramGiam * sanPham[0].GiaBanLe + soluong * kichthuoc[0].GiaThem;
                            HttpContext.Session.SetString("gioHangSession", JsonConvert.SerializeObject(chiTietHoaDons));
                        }
                    }
                }
            }

            // hiển thị giỏ hàng
            float?TongTien = 0;
            List <Chitiethoadon> listGioHang = JsonConvert.DeserializeObject <List <Chitiethoadon> >(HttpContext.Session.GetString("gioHangSession"));

            System.Console.WriteLine(HttpContext.Session.GetString("gioHangSession"));
            List <Chitiethoadon> ListSanPhamCart = new List <Chitiethoadon>();

            for (int i = 0; i < listGioHang.Count(); i++)
            {
                var gh = (from sp in dbContext.Sanpham
                          join kt in dbContext.Kichthuoc
                          on sp.SanPhamId equals kt.SanPhamId
                          where kt.KichThuocid == listGioHang[i].KichThuocId
                          select new {
                    masp = sp.SanPhamId,
                    tensp = sp.TenSanPham.ToString(),
                    GiaBanLe = sp.GiaBanLe,
                    kichThuocId = kt.KichThuocid,
                    TenKichThuoc = kt.TenKichThuoc.ToString(),
                    GiaThem = kt.GiaThem,
                    soluong = listGioHang[i].SoLuong,
                    tongtien = listGioHang[i].TongTien.ToString()
                }
                          ).ToList();

                foreach (var x in gh)
                {
                    Chitiethoadon ct = new Chitiethoadon();
                    Sanpham       sp = new Sanpham();
                    Kichthuoc     kt = new Kichthuoc();
                    ct.KichThuocId  = x.kichThuocId;
                    kt.TenKichThuoc = x.TenKichThuoc;
                    kt.GiaThem      = x.GiaThem;
                    ct.SanPhamId    = x.masp;
                    sp.TenSanPham   = x.tensp;
                    sp.GiaBanLe     = x.GiaBanLe;
                    ct.SoLuong      = x.soluong;
                    float tong = float.Parse(x.tongtien);
                    ct.TongTien  = tong;
                    TongTien     = TongTien + ct.TongTien;
                    ct.SanPham   = sp;
                    ct.KichThuoc = kt;
                    ListSanPhamCart.Add(ct);
                }
            }

            return(ListSanPhamCart);
        }
Beispiel #6
0
        public IActionResult DatHang(int id)
        {
            var dbContext = new shopContext();
            var sanpham   = (from sp in dbContext.Sanpham
                             where sp.SanPhamId == id
                             select sp).ToList();
            var ListSP = (from sp in dbContext.Sanpham
                          join h in dbContext.Hinhanh
                          on sp.HinhAnhId equals h.HinhAnhId
                          join km in dbContext.Khuyenmai
                          on sp.KhuyenMaiId equals km.KhuyenMaiId into x
                          from subkm in x.DefaultIfEmpty()
                          select new
            {
                PhanLoaiId = sp.PhanLoaiId,
                SanPhamId = sp.SanPhamId,
                TenSanPham = sp.TenSanPham,
                GiaBanLe = sp.GiaBanLe,
                HinhAnh = h.TenFile,
                PhanTramGiam = subkm.PhanTramGiam,
                KhuyenmaiId = sp.KhuyenMaiId
            });
            List <Sanpham> List = new List <Sanpham>();

            foreach (var item in ListSP)
            {
                var   sp         = new Sanpham();
                var   h          = new Hinhanh();
                var   k          = new Khuyenmai();
                float?giaSauGiam = item.GiaBanLe - item.GiaBanLe * item.PhanTramGiam;
                sp.PhanLoaiId  = item.PhanLoaiId;
                sp.SanPhamId   = item.SanPhamId;
                sp.TenSanPham  = item.TenSanPham;
                sp.GiaBanLe    = item.GiaBanLe;
                h.TenFile      = item.HinhAnh;
                k.PhanTramGiam = item.PhanTramGiam * 100;
                sp.KhuyenMaiId = item.KhuyenmaiId;
                sp.GiaGoc      = giaSauGiam;
                sp.HinhAnh     = h;
                sp.KhuyenMai   = k;
                List.Add(sp);
            }
            ViewData["listSP"] = List;

            var PhanLoai = (from pl in dbContext.Phanloai
                            orderby pl.PhanLoaiId
                            select pl);
            List <Phanloai> ListPL = new List <Phanloai>();

            foreach (var item in PhanLoai)
            {
                Phanloai phanloai = new Phanloai();
                phanloai.PhanLoaiId = item.PhanLoaiId;
                phanloai.TenLoai    = item.TenLoai;
                ListPL.Add(phanloai);
            }
            ViewData["listPL"] = ListPL;
            //lay ma khuyen mai cua san pham
            float?phantramKM = 0;

            if (sanpham[0].KhuyenMaiId != null)
            {
                var km = (from khuyenmai in dbContext.Khuyenmai
                          where khuyenmai.KhuyenMaiId == sanpham[0].KhuyenMaiId
                          select khuyenmai).ToList();
                phantramKM = km[0].PhanTramGiam;
            }


//--------------------------

            var gioHangSession = HttpContext.Session.GetString("gioHangSession");

            if (gioHangSession == null)
            {
                //chưa có giỏ hàng (khởi tạo)
                var KichThuoc = (from kt in dbContext.Kichthuoc where kt.SanPhamId == id select kt).ToList();
                var ktId      = 0;
                foreach (var item in KichThuoc)
                {
                    if (item.TenKichThuoc == "Nhỏ")
                    {
                        ktId = item.KichThuocid;
                    }
                }
                List <Chitiethoadon> ListChiTietHoaDon = new List <Chitiethoadon>();
                Chitiethoadon        chitiethoadon     = new Chitiethoadon();
                chitiethoadon.SanPhamId   = id;
                chitiethoadon.SoLuong     = 1;
                chitiethoadon.KichThuocId = ktId;
                chitiethoadon.TongTien    = (float)(sanpham[0].GiaBanLe * 1 - sanpham[0].GiaBanLe * phantramKM);
                ListChiTietHoaDon.Add(chitiethoadon);
                HttpContext.Session.SetString("gioHangSession", JsonConvert.SerializeObject(ListChiTietHoaDon));
            }
            else
            {
                // nếu đã có giỏ hàng sẵn
                List <Chitiethoadon> listCart = JsonConvert.DeserializeObject <List <Chitiethoadon> >(HttpContext.Session.GetString("gioHangSession"));
                // kiểm tra sản phẩm thêm vào có tồn tại trong giỏ hàng chưa
                int flag = 0;
                for (int i = 0; i < listCart.Count; i++)
                {
                    if (listCart[i].SanPhamId == id)
                    {
                        // listCart.RemoveAt(i);
                        flag = 1;
                    }
                }
                if (flag == 0)// giỏ hàng chưa có sản phẩm này
                {
                    var KichThuoc = (from kt in dbContext.Kichthuoc where kt.SanPhamId == id select kt).ToList();
                    var ktId      = 0;
                    foreach (var item in KichThuoc)
                    {
                        if (item.TenKichThuoc == "Nhỏ")
                        {
                            ktId = item.KichThuocid;
                        }
                    }

                    Chitiethoadon chitiethoadon = new Chitiethoadon();
                    chitiethoadon.SanPhamId   = id;
                    chitiethoadon.SoLuong     = 1;
                    chitiethoadon.KichThuocId = ktId;
                    chitiethoadon.TongTien    = (float)(sanpham[0].GiaBanLe * 1 - sanpham[0].GiaBanLe * phantramKM);
                    listCart.Add(chitiethoadon);

                    HttpContext.Session.SetString("gioHangSession", JsonConvert.SerializeObject(listCart));
                }
                else // giỏ hàng đã có sản phẩm
                     // nếu có rồi thì giữ nguyên như cũ
                {
                }
            }

//---------------------------
            //hiển thị giỏ hàng
//-----------------------------
            float?TongTien = 0;
            List <Chitiethoadon> chiTietHoaDonss = JsonConvert.DeserializeObject <List <Chitiethoadon> >(HttpContext.Session.GetString("gioHangSession"));
            List <Chitiethoadon> ListSanPhamCart = new List <Chitiethoadon>();



            for (int i = 0; i < chiTietHoaDonss.Count(); i++)
            {
                var gh = (from sp in dbContext.Sanpham
                          join kt in dbContext.Kichthuoc
                          on sp.SanPhamId equals kt.SanPhamId
                          where kt.KichThuocid == chiTietHoaDonss[i].KichThuocId
                          select new {
                    masp = sp.SanPhamId,
                    tensp = sp.TenSanPham.ToString(),
                    GiaBanLe = sp.GiaBanLe,
                    kichThuocId = kt.KichThuocid,
                    TenKichThuoc = kt.TenKichThuoc.ToString(),
                    GiaThem = kt.GiaThem,
                    soluong = chiTietHoaDonss[i].SoLuong,
                    tongtien = chiTietHoaDonss[i].TongTien.ToString()
                }
                          ).ToList();

                foreach (var x in gh)
                {
                    Chitiethoadon ct = new Chitiethoadon();
                    Sanpham       sp = new Sanpham();
                    Kichthuoc     kt = new Kichthuoc();
                    ct.KichThuocId  = x.kichThuocId;
                    kt.TenKichThuoc = x.TenKichThuoc;
                    kt.GiaThem      = x.GiaThem;
                    ct.SanPhamId    = x.masp;
                    sp.TenSanPham   = x.tensp;
                    sp.GiaBanLe     = x.GiaBanLe;
                    ct.SoLuong      = x.soluong;
                    float tong = float.Parse(x.tongtien);
                    ct.TongTien  = tong;
                    TongTien     = TongTien + ct.TongTien;
                    ct.SanPham   = sp;
                    ct.KichThuoc = kt;
                    ListSanPhamCart.Add(ct);
                }
            }
            HttpContext.Session.SetString("gioHangSession", JsonConvert.SerializeObject(ListSanPhamCart));
            ViewBag.tongtien = TongTien;
            ViewBag.gioHang  = ListSanPhamCart;
//---------------------------------
            // ViewBag.gioHang = new List<Chitiethoadon>();
            return(View(sanpham));
        }
        public IActionResult InHoaDon(int id)
        {
            var dbContext = new shopContext();
            var hoadon    = (from hd in dbContext.Hoadon
                             join ps in dbContext.Phiship
                             on hd.PhiShipId equals ps.PhiShipId
                             join kh in dbContext.Khachhang
                             on hd.KhachHangId equals kh.KhachHangId
                             join nv in dbContext.Nhanvien
                             on hd.NhanVienId equals nv.NhanVienId
                             where hd.HoaDonId == id
                             select new{
                idhd = hd.HoaDonId,
                TenKhachHang = kh.HoTen,
                quan = hd.Quan,
                ngaytao = hd.NgayTao,
                TenNguoiNhan = hd.TenNguoiNhan,
                soNha = hd.SoNha,
                sdt = hd.Sdt,
                phiship = ps.ChiPhi,
                tienkhuyenmai = hd.TienGiamGia,
                TongTienChuaShip = hd.TongTienChuaShip,
                tongcong = hd.TongTienThanhToan
            }).ToList();
            List <Hoadon> DSHoaDon = new List <Hoadon>();

            foreach (var item in hoadon)
            {
                Hoadon hd = new Hoadon();
                hd.HoaDonId          = item.idhd;
                hd.NgayTao           = item.ngaytao;
                hd.TenNguoiNhan      = item.TenNguoiNhan;
                hd.SoNha             = item.soNha;
                hd.Sdt               = item.sdt;
                hd.TienGiamGia       = item.tienkhuyenmai;
                hd.TongTienChuaShip  = item.TongTienChuaShip;
                hd.TongTienThanhToan = item.tongcong;
                hd.Quan              = item.quan;
                Phiship ps = new Phiship();
                ps.ChiPhi = item.phiship;
                Khachhang kh = new Khachhang();
                kh.HoTen     = item.TenKhachHang;
                hd.KhachHang = kh;
                hd.PhiShip   = ps;
                DSHoaDon.Add(hd);
            }
            // ViewBag.hoadon = DSHoaDon;
            var chitiet = (from ct in dbContext.Chitiethoadon
                           join hd in dbContext.Hoadon
                           on ct.HoaDonId equals hd.HoaDonId
                           join sp in dbContext.Sanpham
                           on ct.SanPhamId equals sp.SanPhamId
                           join kt in dbContext.Kichthuoc
                           on ct.KichThuocId equals kt.KichThuocid
                           join ha in dbContext.Hinhanh
                           on sp.HinhAnhId equals ha.HinhAnhId
                           join km in dbContext.Khuyenmai
                           on sp.KhuyenMaiId equals km.KhuyenMaiId into x
                           from subnv in x.DefaultIfEmpty()
                           where hd.HoaDonId == id
                           select new{
                tensp = sp.TenSanPham,
                hinhanh = ha.TenFile,
                gia = ct.TongTien,
                soluong = ct.SoLuong,
                giam = subnv.PhanTramGiam * sp.GiaBanLe,
                tamtinh = ct.TongSauKm,
                tenKichThuoc = kt.TenKichThuoc
            }).ToList();
            List <Chitiethoadon> DSChiTiet = new List <Chitiethoadon>();

            foreach (var item in chitiet)
            {
                Sanpham       sp = new Sanpham();
                Chitiethoadon ct = new Chitiethoadon();
                Hinhanh       ha = new Hinhanh();
                Kichthuoc     kt = new Kichthuoc();
                sp.TenSanPham    = item.tensp;
                ha.TenFile       = item.hinhanh;
                ct.TongTien      = item.gia;
                ct.SoLuong       = item.soluong;
                ct.TienKhuyenMai = item.giam;
                ct.TongSauKm     = item.tamtinh;
                kt.TenKichThuoc  = item.tenKichThuoc;
                sp.HinhAnh       = ha;
                ct.SanPham       = sp;
                ct.KichThuoc     = kt;
                DSChiTiet.Add(ct);
            }

            var hoadon_cthd = new Tuple <List <Hoadon>, List <Chitiethoadon> >(DSHoaDon, DSChiTiet);

            return(new ViewAsPdf(hoadon_cthd));
        }