public async Task <IActionResult> Edit(string id, [Bind("Id,MaKm,MaSp,Phantram")] ChuongTrinhKhuyenMai chuongTrinhKhuyenMai)
        {
            if (id != chuongTrinhKhuyenMai.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(chuongTrinhKhuyenMai);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ChuongTrinhKhuyenMaiExists(chuongTrinhKhuyenMai.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["MaKm"] = new SelectList(_context.KhuyenMai, "MaKm", "MaKm", chuongTrinhKhuyenMai.MaKm);
            ViewData["MaSp"] = new SelectList(_context.SanPham, "MaSp", "MaSp", chuongTrinhKhuyenMai.MaSp);
            return(View(chuongTrinhKhuyenMai));
        }
        public IActionResult Index()
        {
            TempData["user"]   = HttpContext.Session.GetString("user");
            ViewBag.TopProduct = _db.SanPham.OrderByDescending(x => x.SoLuongCon).Take(4).ToList();

            KhuyenMai x = _db.KhuyenMai.FirstOrDefault();

            ChuongTrinhKhuyenMai ctkm = new ChuongTrinhKhuyenMai()
            {
                Id        = "2",
                khuyenMai = x,
                Phantram  = 10,
                SanPham   = _db.SanPham.FirstOrDefault()
            };

            //_db.ChuongTrinhKhuyenMai.Add(ctkm);
            //_db.SaveChanges();

            List <SanPhamKMVM> sales = _db.ChuongTrinhKhuyenMai
                                       .Where(x => x.khuyenMai.NgayKt >= DateTime.Now).Select(x => new SanPhamKMVM()
            {
                DonGia  = x.SanPham.DonGia.GetValueOrDefault(),
                GiaGiam = x.Phantram,
                HinhAnh = x.SanPham.HinhAnh,
                LoaiSp  = x.SanPham.LoaiSp,
                MaSp    = x.SanPham.MaSp,
                TenSp   = x.SanPham.TenSp
            }).ToList();

            ViewBag.Sale = sales;
            return(View());
        }
        public bool DeleteCtKhuyenMai(string Ma)
        {
            var ct = from i in db.ChiTietKhuyenMais
                     where i.MaCT == Ma
                     select i;

            if (ct.Any())
            {
                throw new Exception("This Can't Be Delete");
            }
            else
            {
                ChuongTrinhKhuyenMai ChuongTrinh = db.ChuongTrinhKhuyenMais.Where(x => x.MaCT == Ma).FirstOrDefault();
                if (ChuongTrinh != null)
                {
                    db.ChuongTrinhKhuyenMais.DeleteOnSubmit(ChuongTrinh);
                    db.SubmitChanges();
                    return(true);
                }
                else
                {
                    throw new Exception("Invaild ID");
                }
            }
        }
        public static List <ChuongTrinhKhuyenMai> XemChuongTrinhKhuyenMai(StoreProcEnum type = StoreProcEnum.XemChuongTrinhKhuyenMai)
        {
            List <ChuongTrinhKhuyenMai> result = new List <ChuongTrinhKhuyenMai>();

            using (SqlConnection conn = new SqlConnection())
            {
                conn.ConnectionString = connectionString;
                conn.Open();
                using (SqlCommand cmd = new SqlCommand(type.ToString(), conn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    SqlDataReader reader = cmd.ExecuteReader();
                    if (!reader.HasRows)
                    {
                        return(result);
                    }

                    while (reader.Read())
                    {
                        ChuongTrinhKhuyenMai row = new ChuongTrinhKhuyenMai();
                        row.MaKhuyenMai    = (int)reader["MaKhuyenMai"];
                        row.TenChuongTrinh = (string)reader["TenChuongTrinh"];
                        row.MaLoai         = (int)reader["MaLoai"];
                        row.DoiTuongApDung = (int)reader["DoiTuongApDung"];
                        row.GiaTri         = (long)reader["GiaTri"];
                        row.NgayBatDau     = reader["NgayBatDau"].ToString();
                        row.NgayKetThuc    = reader["NgayKetThuc"].ToString();
                        row.SoLuong        = (int)reader["SoLuong"];
                        result.Add(row);
                    }
                    reader.Close();
                }
            }
            return(result);
        }
        public async Task <IActionResult> Create([Bind("Id,MaKm,MaSp,Phantram")] ChuongTrinhKhuyenMai chuongTrinhKhuyenMai)
        {
            if (ModelState.IsValid)
            {
                _context.Add(chuongTrinhKhuyenMai);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["MaKm"] = new SelectList(_context.KhuyenMai, "MaKm", "MaKm", chuongTrinhKhuyenMai.MaKm);
            ViewData["MaSp"] = new SelectList(_context.SanPham, "MaSp", "MaSp", chuongTrinhKhuyenMai.MaSp);
            return(View(chuongTrinhKhuyenMai));
        }
        public bool CheckCoKhongCT(string MaCt)
        {
            ChuongTrinhKhuyenMai Ctrinh = db.ChuongTrinhKhuyenMais.Where(x => x.MaCT == MaCt).FirstOrDefault();

            if (Ctrinh != null)
            {
                return(true);
            }
            else
            {
                throw new Exception("Invaild ID");
            }
        }
        public static ChuongTrinhKhuyenMai XemMotChuongTrinhKhuyenMai(int MaKhuyenMai)
        {
            ChuongTrinhKhuyenMai result = null;

            using (SqlConnection conn = new SqlConnection())
            {
                conn.ConnectionString = connectionString;
                conn.Open();
                using (SqlCommand cmd = new SqlCommand(StoreProcEnum.XemMotChuongTrinhKhuyenMai.ToString(), conn))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@MaKhuyenMai", MaKhuyenMai);
                    SqlDataReader reader = cmd.ExecuteReader();
                    if (!reader.HasRows)
                    {
                        return(result);
                    }

                    result = new ChuongTrinhKhuyenMai();
                    while (reader.Read())
                    {
                        result.MaKhuyenMai    = MaKhuyenMai;
                        result.TenChuongTrinh = (string)reader["TenChuongTrinh"];
                        result.MaLoai         = (int)reader["MaLoai"];
                        result.DoiTuongApDung = (int)reader["DoiTuongApDung"];
                        result.GiaTri         = (long)reader["GiaTri"];
                        result.NgayBatDau     = reader["NgayBatDau"].ToString();
                        result.NgayKetThuc    = reader["NgayKetThuc"].ToString();
                        result.SoLuong        = (int)reader["SoLuong"];
                        break;
                    }
                    reader.Close();
                }
            }
            return(result);
        }