private void gridViewKM_CellValueChanging(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
        {
            if (e.RowHandle >= 0)
            {
                if (e.Column == colDeleteKMSP)
                {
                    Khuyenmai objKMSP = new Khuyenmai();
                    objKMSP.IDKhuyenmai = Convert.ToInt32(gridViewKM.GetRowCellValue(e.RowHandle, "IDKhuyenmai"));

                    if (Convert.ToBoolean(gridViewKM.GetRowCellValue(e.RowHandle, colDeleteKMSP)) == true)
                    {
                        //warnning
                        if (MessageBox.Show(this, "Bạn có muốn xóa khuyến mãi này không?", "Cảnh báo", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                        {
                            if (new DataAccess().deleteKhuyenmai(objKMSP) == true)
                            {
                                ((frmMain)(this.MdiParent)).setStatus("Xóa khuyến mãi thành công");
                                gridViewKM.DeleteRow(e.RowHandle);
                            }
                            else
                            {
                                MessageBox.Show(this, "Xóa khuyến mãi không thành công", "Thông báo lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                ((frmMain)(this.MdiParent)).setStatus("");
                            }
                        }
                        else
                        {
                            //set the image to uncheck
                            gridViewKM.SetRowCellValue(e.RowHandle, colDeleteKMSP, true);
                        }
                    }
                }
            }
        }
        public IActionResult XemDanhSachKhuyenMai()
        {
            var dbContext = new shopContext();
            var khuyenmai = (from km in dbContext.Khuyenmai
                             select new{
                khuyenmaiId = km.KhuyenMaiId,
                Tenkhuyenmai = km.TenKhuyenMai,
                mota = km.MoTa,
                ngBD = km.NgayBatDau,
                ngKT = km.NgayKetThuc,
                PhanTramGiam = km.PhanTramGiam,
                TrangThai = km.TrangThai
            });
            List <Khuyenmai> ListKM = new List <Khuyenmai>();

            foreach (var item in khuyenmai)
            {
                Khuyenmai km = new Khuyenmai();
                km.TenKhuyenMai = item.Tenkhuyenmai;
                km.KhuyenMaiId  = item.khuyenmaiId;
                km.MoTa         = item.mota;
                km.NgayBatDau   = item.ngBD;
                km.NgayKetThuc  = item.ngKT;
                km.TrangThai    = item.TrangThai;
                km.PhanTramGiam = item.PhanTramGiam * 100;
                ListKM.Add(km);
            }
            ViewBag.khuyenmai = ListKM;
            return(View());
        }
Example #3
0
        // GET: Khuyenmai/Details/5
        public async Task <ActionResult> Details(int?id, int?MaKH)
        {
            HttpResponseMessage response = await client.GetAsync(url + @"chitietkhuyenmai/" + id);

            if (response.IsSuccessStatusCode)
            {
                var responseData = response.Content.ReadAsStringAsync().Result;
                var settings     = new JsonSerializerSettings
                {
                    NullValueHandling     = NullValueHandling.Ignore,
                    MissingMemberHandling = MissingMemberHandling.Ignore
                };
                var chiTietKhuyenMais      = JsonConvert.DeserializeObject <List <ChiTietKhuyenMai> >(responseData, settings);
                List <ChiTietKhuyenMai> ds = chiTietKhuyenMais.ToList();
                // id Makm
                ViewBag.MDH = id;
                // Get khuyen mai
                HttpResponseMessage responseMessage = await client.GetAsync(url + @"khuyenmai/");

                List <Khuyenmai> khuyenmais = getAllKM(responseMessage);
                Khuyenmai        km         = khuyenmais.SingleOrDefault(n => n.MaKM == id);


                return(View(chiTietKhuyenMais.ToList()));
            }
            return(View());
        }
Example #4
0
        public ActionResult Edit([Bind(Include = "MaKM,TenKM,MotaKM,TgBatDau,TgKetThuc,MaCH")] Khuyenmai khuyenmai)
        {
            HttpResponseMessage response = client.PutAsJsonAsync(url + @"Khuyenmais/" + khuyenmai.MaCH, khuyenmai).Result;

            response.EnsureSuccessStatusCode();
            SetAlert("Đã lưu chỉnh sửa!!!", "success");
            return(RedirectToAction("Index"));
        }
Example #5
0
        public ActionResult Edit(Khuyenmai khuyenmai)
        {
            HttpResponseMessage response = client.PutAsJsonAsync(url + @"nhanviengiaohang/" + khuyenmai.MaKM, khuyenmai).Result;

            response.EnsureSuccessStatusCode();

            return(RedirectToAction("Index"));
        }
Example #6
0
        public ActionResult Create(Khuyenmai khuyenmai)
        {
            HttpResponseMessage response = client.PostAsJsonAsync(url + @"khuyenmai/", khuyenmai).Result;

            response.EnsureSuccessStatusCode();
            if (response.IsSuccessStatusCode)
            {
                ViewBag.Detail = "Sucess";
            }
            return(RedirectToAction("Index"));
        }
Example #7
0
        // GET: Khuyenmai/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            Khuyenmai           khuyenmai = null;
            HttpResponseMessage response  = await client.GetAsync(url + @"khuyenmai/" + id);

            if (response.IsSuccessStatusCode)
            {
                khuyenmai = await response.Content.ReadAsAsync <Khuyenmai>();
            }
            return(View(khuyenmai));
        }
Example #8
0
        public ActionResult Create(Khuyenmai khuyenmais)
        {
            HttpResponseMessage response = client.PostAsJsonAsync(url + @"Khuyenmais/", khuyenmais).Result;

            response.EnsureSuccessStatusCode();
            if (response.IsSuccessStatusCode)
            {
                SetAlert("Thêm thành công!!!", "success");
                return(RedirectToAction("Index"));
            }
            else
            {
                SetAlert("Lỗi!!!", "error");
            }
            return(RedirectToAction("Index"));
        }
Example #9
0
        public IActionResult XemDanhSachSanPham()
        {
            var dbContext = new shopContext();
            var sanpham   = (from sp in dbContext.Sanpham
                             join pl in dbContext.Phanloai
                             on sp.PhanLoaiId equals pl.PhanLoaiId
                             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 subpet in x.DefaultIfEmpty()
                             select new
            {
                idSanPham = sp.SanPhamId,
                tensp = sp.TenSanPham,
                mota = sp.Mota,
                giabanle = sp.GiaBanLe,
                trangThai = sp.TrangThai,
                TenLoai = pl.TenLoai,
                phantramgiam = subpet.PhanTramGiam,
                hinhanh = ha.TenFile
            });
            List <Sanpham> List = new List <Sanpham>();

            foreach (var item in sanpham)
            {
                Sanpham   sp = new Sanpham();
                Hinhanh   ha = new Hinhanh();
                Khuyenmai km = new Khuyenmai();
                Phanloai  pl = new Phanloai();
                sp.SanPhamId    = item.idSanPham;
                sp.TenSanPham   = item.tensp;
                sp.Mota         = item.mota;
                sp.GiaBanLe     = item.giabanle;
                sp.TrangThai    = item.trangThai;
                pl.TenLoai      = item.TenLoai;
                km.PhanTramGiam = item.phantramgiam * 100;
                ha.TenFile      = item.hinhanh;
                sp.PhanLoai     = pl;
                sp.HinhAnh      = ha;
                sp.KhuyenMai    = km;
                List.Add(sp);
            }
            ViewBag.sanpham = List;

            return(View());
        }
        private void gridViewKM_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
        {
            if (e.RowHandle >= 0)
            {
                if (e.Column == colDeleteKMSP)
                {
                    //do nothing
                }
                else
                {
                    //update here
                    Khuyenmai objKMSP = new Khuyenmai();
                    objKMSP.IDKhuyenmai = Convert.ToInt32(gridViewKM.GetRowCellValue(e.RowHandle, "IDKhuyenmai"));
                    objKMSP.Giam        = Convert.ToInt32(gridViewKM.GetRowCellValue(e.RowHandle, "Giam"));
                    objKMSP.NgayBD      = Convert.ToDateTime(gridViewKM.GetRowCellValue(e.RowHandle, "NgayBD"));
                    objKMSP.NgayKT      = Convert.ToDateTime(gridViewKM.GetRowCellValue(e.RowHandle, "NgayKT"));
                    objKMSP.Ghichu      = "";
                    DataSet dsSP = new DataAccess().getNhomSPByTenSP(Convert.ToString(gridViewKM.GetRowCellValue(e.RowHandle, "TenNhomSP")));
                    try
                    {
                        objKMSP.IDNhomSP = Convert.ToInt32(dsSP.Tables[0].Rows[0]["IDNhomSP"]);
                    }
                    catch
                    {
                        objKMSP.IDNhomSP = -1;
                    }

                    if ((objKMSP.IDNhomSP == -1) || (objKMSP.Giam <= 0))
                    {
                        getKMSP();
                        MessageBox.Show(this, "Thông tin khuyến mãi không hợp lệ (không có nhóm sản phẩm cùng tên hoặc giảm <= 0)", "Thông báo lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }

                    if (new DataAccess().updateKhuyenmai(objKMSP) == true)
                    {
                        getKMSP();
                        ((frmMain)(this.MdiParent)).setStatus("Cập nhật dữ liệu khuyến mãi thành công");
                    }
                    else
                    {
                        getKMSP();
                        MessageBox.Show(this, "Cập nhật dữ liệu khuyến mãi không thành công", "Thông báo lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
        }
Example #11
0
        // GET: Khuyenmais/Details/5
        public async Task <ActionResult> Details(int?id)
        {
            HttpResponseMessage response = await client.GetAsync(url + @"ChiTietKhuyenMais/" + id);

            if (response.IsSuccessStatusCode)
            {
                var responseData = response.Content.ReadAsStringAsync().Result;
                var settings     = new JsonSerializerSettings
                {
                    NullValueHandling     = NullValueHandling.Ignore,
                    MissingMemberHandling = MissingMemberHandling.Ignore
                };
                var ChiTietKhuyenMais        = JsonConvert.DeserializeObject <List <ChiTietKhuyenMai> >(responseData, settings);
                List <ChiTietKhuyenMai> dskm = ChiTietKhuyenMais.ToList();
                ViewBag.MaKM = id;


                // Get km
                HttpResponseMessage responseMessage = await client.GetAsync(url + @"KhuyenMais/");

                List <Khuyenmai> khuyenmais = getAllKhuyenmai(responseMessage);
                Khuyenmai        km         = khuyenmais.SingleOrDefault(n => n.MaKM == id);


                //getch
                responseMessage = await client.GetAsync(url + @"Cuahangs/");

                List <Cuahang> listch    = CuahangsController.getAllCuaHang(responseMessage);
                List <string>  dscuahang = new List <string>();
                ViewBag.tench = dscuahang;
                //get sp
                responseMessage = await client.GetAsync(url + @"Doans/");

                List <Doan>   listda = DoansController.getAllDoan(responseMessage);
                List <string> dsTen  = new List <string>();
                foreach (ChiTietKhuyenMai ctkm in dskm)
                {
                    string name = listda.Where(n => n.MaDA == ctkm.MaDA).SingleOrDefault().TenDA;
                    dsTen.Add(name);
                }
                ViewBag.nameDa = dsTen;
                return(View(ChiTietKhuyenMais.ToList()));
            }
            return(View());
        }
Example #12
0
        // GET: Khuyenmai/Details/5
        public async Task <ActionResult> Details(int?id, int?MaKH)
        {
            HttpResponseMessage response = await client.GetAsync(url + @"chitietdonhang/" + id);

            if (response.IsSuccessStatusCode)
            {
                var responseData = response.Content.ReadAsStringAsync().Result;
                var settings     = new JsonSerializerSettings
                {
                    NullValueHandling     = NullValueHandling.Ignore,
                    MissingMemberHandling = MissingMemberHandling.Ignore
                };
                var chitietkms = JsonConvert.DeserializeObject <List <ChiTietKhuyenMai> >(responseData, settings);
                List <ChiTietKhuyenMai> ctkm = chitietkms.ToList();
                ViewBag.MaKM = id;

                //lây khuyen mai
                HttpResponseMessage responseMessage = await client.GetAsync(url + @"Khuyenmai/");

                List <Khuyenmai> khuyenmais = getAllKM(responseMessage);
                Khuyenmai        kms        = khuyenmais.SingleOrDefault(n => n.MaKM == id);
                ViewBag.TenKM   = kms.TenKM;
                ViewBag.Mota    = kms.MotaKM;
                ViewBag.Batdau  = kms.TgBatDau;
                ViewBag.KetThuc = kms.TgKetThuc;


                //lay do an
                responseMessage = await client.GetAsync(url + @"doan/");

                List <DoAn>   listda = DoAnController.getAllDoAn(responseMessage);
                List <string> dsTen  = new List <string>();
                foreach (ChiTietKhuyenMai ctdh in ctkm)
                {
                    string name = listda.Where(n => n.MaDA == ctdh.MaDA).SingleOrDefault().TenDA;
                    dsTen.Add(name);
                }
                //DoAn doAn = listda.Where(n => n.MaDA == );
                ViewBag.nameDa = dsTen;

                return(View(chitietkms.ToList()));
            }
            return(View());
        }
        private void gridViewKM_RowUpdated(object sender, DevExpress.XtraGrid.Views.Base.RowObjectEventArgs e)
        {
            DataRowView aRowView = (DataRowView)(e.Row);
            DataRow     aRow     = aRowView.Row;

            if (aRow.RowState == DataRowState.Added)
            {
                //insert command here
                //update here
                Khuyenmai objKMSP = new Khuyenmai();
                objKMSP.Giam   = Convert.ToInt32(aRow["Giam"]);
                objKMSP.NgayBD = Convert.ToDateTime(aRow["NgayBD"]);
                objKMSP.NgayKT = Convert.ToDateTime(aRow["NgayKT"]);
                objKMSP.Ghichu = "";
                DataSet dsSP = new DataAccess().getNhomSPByTenSP(Convert.ToString(aRow["TenNhomSP"]));
                try
                {
                    objKMSP.IDNhomSP = Convert.ToInt32(dsSP.Tables[0].Rows[0]["IDNhomSP"]);
                }
                catch
                {
                    objKMSP.IDNhomSP = -1;
                }

                if ((objKMSP.IDNhomSP == -1) || (objKMSP.Giam <= 0))
                {
                    getKMSP();
                    MessageBox.Show(this, "Thông tin khuyến mãi không hợp lệ (không có nhóm sản phẩm cùng tên hoặc giảm <= 0)", "Thông báo lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                if (new DataAccess().insertKhuyenmai(objKMSP) >= 0)
                {
                    getKMSP();
                    ((frmMain)(this.MdiParent)).setStatus("Cập nhật dữ liệu khuyến mãi thành công");
                }
                else
                {
                    getKMSP();
                    MessageBox.Show(this, "Cập nhật dữ liệu khuyến mãi không thành công", "Thông báo lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
        public IActionResult SuaKhuyenMai(Khuyenmai model)
        {
            var    dbContext          = new shopContext();
            double?changePhanTramGiam = (double)model.PhanTramGiam / 100;

            if (ModelState.IsValid)
            {
                var khuyenmai = dbContext.Khuyenmai.First(a => a.KhuyenMaiId == model.KhuyenMaiId);
                khuyenmai.TenKhuyenMai = model.TenKhuyenMai;
                khuyenmai.MoTa         = model.MoTa;
                khuyenmai.PhanTramGiam = (float?)changePhanTramGiam;
                khuyenmai.NgayBatDau   = model.NgayBatDau;
                khuyenmai.NgayKetThuc  = model.NgayKetThuc;
                khuyenmai.TrangThai    = model.TrangThai;
                dbContext.SaveChanges();
                return(RedirectToAction("SuaKhuyenMai", "Khuyenmai", new{ id = model.KhuyenMaiId, success = "Cập nhật khuyến mãi thành công" }));
            }
            return(RedirectToAction("SuaKhuyenMai", "Khuyenmai", new{ id = model.KhuyenMaiId, err = "Cập nhật khuyến mãi không thành công" }));
        }
        public IActionResult ThemKhuyenMai(Khuyenmai model)
        {
            var    dbContext          = new shopContext();
            double?changePhanTramGiam = (double)model.PhanTramGiam / 100;

            if (ModelState.IsValid)
            {
                var Khuyenmai = new Khuyenmai()
                {
                    TenKhuyenMai = model.TenKhuyenMai,
                    MoTa         = model.MoTa,
                    NgayBatDau   = model.NgayBatDau,
                    NgayKetThuc  = model.NgayKetThuc,
                    PhanTramGiam = (float)changePhanTramGiam,
                    TrangThai    = model.TrangThai
                };
                dbContext.Khuyenmai.Add(Khuyenmai);
                dbContext.SaveChanges();
            }
            return(RedirectToAction("ThemKhuyenMai", "Khuyenmai", new{ success = "Thêm thành công" }));
        }
        public IActionResult SuaKhuyenMai(int id, string success, string err)
        {
            var dbContext = new shopContext();

            if (ModelState.IsValid)
            {
                var khuyenmai = (from km in dbContext.Khuyenmai
                                 where km.KhuyenMaiId == id
                                 select new{
                    khuyenmaiid = km.KhuyenMaiId,
                    tenKM = km.TenKhuyenMai,
                    mota = km.MoTa,
                    phantramgiam = km.PhanTramGiam,
                    ngBD = km.NgayBatDau,
                    ngKT = km.NgayKetThuc,
                    trangThai = km.TrangThai
                }).ToList();
                List <Khuyenmai> listKM = new List <Khuyenmai>();
                foreach (var item in khuyenmai)
                {
                    Khuyenmai km = new Khuyenmai();
                    km.KhuyenMaiId  = item.khuyenmaiid;
                    km.TenKhuyenMai = item.tenKM;
                    km.MoTa         = item.mota;
                    km.NgayBatDau   = item.ngBD;
                    km.NgayKetThuc  = item.ngKT;
                    km.PhanTramGiam = item.phantramgiam * 100;
                    km.TrangThai    = item.trangThai;
                    listKM.Add(km);
                }
                string ngBD = khuyenmai[0].ngBD.ToString("yyyy-MM-dd");
                string ngKT = khuyenmai[0].ngKT.ToString("yyyy-MM-dd");
                ViewBag.ngBD      = ngBD;
                ViewBag.ngKT      = ngKT;
                ViewBag.khuyenmai = listKM;
                ViewBag.success   = success;
            }
            ViewBag.err = err;
            return(View());
        }
Example #17
0
 public bool deleteKhuyenmai(Khuyenmai objKhuyenmai)
 {
     return(new KhuyenmaiService().deleteKhuyenmai(objKhuyenmai));
 }
Example #18
0
        public IActionResult ThucDon()
        {
            var dbContext = new shopContext();
            var PhanLoai  = (from pl in dbContext.Phanloai
                             orderby pl.PhanLoaiId
                             select pl);

            List <Sanpham> List   = new List <Sanpham>();
            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()
                                     where sp.TrangThai == 1
                                     select new
            {
                PhanLoaiId = sp.PhanLoaiId,
                SanPhamId = sp.SanPhamId,
                TenSanPham = sp.TenSanPham,
                GiaBanLe = sp.GiaBanLe,
                HinhAnh = h.TenFile,
                KhuyenMaiId = sp.KhuyenMaiId,
                PhanTramGiam = subkm.PhanTramGiam
            });

            foreach (var item in ListSP)
            {
                var sp = new Sanpham();
                var h  = new Hinhanh();
                var k  = new Khuyenmai();
                sp.PhanLoaiId  = item.PhanLoaiId;
                sp.SanPhamId   = item.SanPhamId;
                sp.TenSanPham  = item.TenSanPham;
                sp.GiaBanLe    = item.GiaBanLe;
                h.TenFile      = item.HinhAnh;
                sp.KhuyenMaiId = item.KhuyenMaiId;
                k.PhanTramGiam = item.PhanTramGiam * 100;
                sp.KhuyenMai   = k;
                sp.GiaGoc      = item.GiaBanLe - item.GiaBanLe * item.PhanTramGiam;
                sp.HinhAnh     = h;
                List.Add(sp);
            }
            ViewData["listSP"] = List;
            // hiển thị danh sách sản phẩm khuyến mãi
            List <Sanpham> ListKM   = new List <Sanpham>();
            var            ListSPKM = (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()
                                       where sp.TrangThai == 1
                                       select new
            {
                PhanLoaiId = sp.PhanLoaiId,
                SanPhamId = sp.SanPhamId,
                TenSanPham = sp.TenSanPham,
                GiaBanLe = sp.GiaBanLe,
                HinhAnh = h.TenFile,
                KhuyenMaiId = sp.KhuyenMaiId,
                PhanTramGiam = subkm.PhanTramGiam
            });

            foreach (var item in ListSPKM)
            {
                var sp = new Sanpham();
                var h  = new Hinhanh();
                var k  = new Khuyenmai();
                sp.PhanLoaiId  = item.PhanLoaiId;
                sp.SanPhamId   = item.SanPhamId;
                sp.TenSanPham  = item.TenSanPham;
                sp.GiaBanLe    = item.GiaBanLe;
                h.TenFile      = item.HinhAnh;
                sp.KhuyenMaiId = item.KhuyenMaiId;
                k.PhanTramGiam = item.PhanTramGiam * 100;
                sp.KhuyenMai   = k;
                sp.GiaGoc      = item.GiaBanLe - item.GiaBanLe * item.PhanTramGiam;
                sp.HinhAnh     = h;
                ListKM.Add(sp);
            }
            ViewBag.ListKM = ListKM;
            return(View(PhanLoai));
        }
Example #19
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));
        }
Example #20
0
 public int insertKhuyenmai(Khuyenmai objKhuyenmai)
 {
     return(new KhuyenmaiService().insertKhuyenmai(objKhuyenmai));
 }
Example #21
0
 public bool updateKhuyenmai(Khuyenmai objKhuyenmai)
 {
     return(new KhuyenmaiService().updateKhuyenmai(objKhuyenmai));
 }
Example #22
0
        public IActionResult Index()
        {
            var dbContext = new shopContext();

            var khuyenmai = (from km in dbContext.Khuyenmai select km).ToList();

            foreach (var item in khuyenmai)
            {
                if (item.NgayBatDau <= DateTime.Now && item.NgayKetThuc >= DateTime.Now)
                {
                    //update khuyến mãi kích hoạt đã đến ngày khuyến mãi
                    var km = dbContext.Khuyenmai.First(a => a.KhuyenMaiId == item.KhuyenMaiId);
                    km.TrangThai = 1;
                    dbContext.SaveChanges();
                }
                else
                {
                    var km = dbContext.Khuyenmai.First(a => a.KhuyenMaiId == item.KhuyenMaiId);
                    km.TrangThai = 0;
                    dbContext.SaveChanges();
                    //lấy danh sách sản phẩm có khuyến mãi id = item.khuyenmaiId;
                    var sanpham = (from sp in dbContext.Sanpham
                                   where sp.KhuyenMaiId == item.KhuyenMaiId
                                   select sp).ToList();
                    //update sản phẩm đã hết hạn khuyến mãi
                    foreach (var sp in sanpham)
                    {
                        var ItemSanPham = dbContext.Sanpham.First(a => a.SanPhamId == sp.SanPhamId);
                        ItemSanPham.KhuyenMaiId = null;
                        dbContext.SaveChanges();
                    }
                    // var sanpham = dbContext.Sanpham.First(a => a.KhuyenMaiId == item.KhuyenMaiId);
                    // sanpham.KhuyenMaiId = null;
                    // dbContext.SaveChanges();
                    // dbContext.Dispose();
                }
            }
            var SanPhamm = (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()
                            where sp.TrangThai == 1
                            select new{
                SanPhamId = sp.SanPhamId,
                TenSanPham = sp.TenSanPham,
                Mota = sp.Mota,
                GiaBanLe = sp.GiaBanLe,
                Hinhanh = h.TenFile,
                KhuyenMaiId = sp.KhuyenMaiId,
                PhanTramGiam = subkm.PhanTramGiam
            }).Take(7);

            List <Sanpham> List = new List <Sanpham>();

            foreach (var sp in SanPhamm)
            {
                Sanpham   s = new Sanpham();
                Hinhanh   h = new Hinhanh();
                Khuyenmai k = new Khuyenmai();
                s.SanPhamId   = sp.SanPhamId;
                s.TenSanPham  = sp.TenSanPham;
                s.Mota        = sp.Mota;
                s.GiaGoc      = sp.GiaBanLe - sp.GiaBanLe * sp.PhanTramGiam;
                s.GiaBanLe    = sp.GiaBanLe;
                s.KhuyenMaiId = sp.KhuyenMaiId;
                h.TenFile     = sp.Hinhanh;
                //xử lý chuyển phần trăm giảm sang %

                k.PhanTramGiam = sp.PhanTramGiam * 100;
                s.KhuyenMai    = k;
                s.HinhAnh      = h;
                List.Add(s);
            }
            ViewData["x"] = List;
            return(View());
        }