public static List <clsKhuyenMai_DTO> LayKhuyenMaiTheoHD() { List <clsKhuyenMai_DTO> lstKM = new List <clsKhuyenMai_DTO>(); using (SqlConnection connection = XuLyDuLieu.MoKetNoi) { string query = string.Format("Select * from KhuyenMai where TrangThai = 1 AND ApDungHD = 1"); SqlCommand cmd = new SqlCommand(query, connection); using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { clsKhuyenMai_DTO km = new clsKhuyenMai_DTO(); km.MaKhuyenMai = (int)reader["MaKhuyenMai"]; km.TenKhuyenMai = reader["TenKhuyenMai"].ToString(); km.MoTa = reader["MoTa"].ToString(); DateTime?ngayTam = null; km.NgayBatDau = reader["NgayBatDau"] == DBNull.Value ? ngayTam : DateTime.Parse(reader["NgayBatDau"].ToString()); km.NgayKetThuc = reader["NgayKetThuc"] == DBNull.Value ? ngayTam : DateTime.Parse(reader["NgayKetThuc"].ToString()); km.TrangThai = (int)reader["TrangThai"]; lstKM.Add(km); } } connection.Close(); } return(lstKM); }
private void btnSua_Click(object sender, EventArgs e) { if (!KiemTraTextbox()) { return; } clsKhuyenMai_DTO khuyenMai; if (ckbGioiHanTG.Checked) { khuyenMai = new clsKhuyenMai_DTO(txtTenCTKM.Text, txtMoTa.Text, rdbApDungHD.Checked, dtpTuNgay.Value, dtpDenNgay.Value, 1, _maKhuyenMai); } else { khuyenMai = new clsKhuyenMai_DTO(txtTenCTKM.Text, txtMoTa.Text, rdbApDungHD.Checked, null, null, 1, _maKhuyenMai); } bool result = clsKhuyenMai_BUS.Sua(khuyenMai); if (result) { LoadKhuyenMai(); CapNhatKM(khuyenMai.MaKhuyenMai); LamMoi(); MessageBox.Show("Sửa thành công."); } else { MessageBox.Show("Sửa thất bại."); } }
private void KiemTraKhuyenMai() { List <clsKhuyenMai_DTO> lstKM = clsKhuyenMai_BUS.LayKhuyenMaiTheoHD(); DateTime timeNow = DateTime.Now; foreach (clsKhuyenMai_DTO km in lstKM) { if (km.NgayBatDau != null && km.NgayKetThuc != null) { DateTime ngayBatDau = km.NgayBatDau ?? DateTime.Now; int result = DateTime.Compare(timeNow, ngayBatDau); if (result >= 0) { DateTime ngayKetThuc = km.NgayKetThuc ?? DateTime.Now; result = DateTime.Compare(timeNow, ngayKetThuc); if (result <= 0) { khuyenMai = km; lblTenCTKM.Text = string.Format("- {0}", km.TenKhuyenMai); lblNgayKM.Text = string.Format("- Diễn ra từ ngày {0} đến hết ngày {1}", ngayBatDau.ToString("dd/MM/yyyy"), ngayKetThuc.ToString("dd/MM/yyyy")); return; } } } } lblTenCTKM.Text = "Hiện không có chương trình khuyến mại."; lblNgayKM.Text = ""; khuyenMai = clsKhuyenMai_BUS.LayKhuyenMai(4); // Mặc định }
public static clsKhuyenMai_DTO LayKhuyenMai(int maKM) { clsKhuyenMai_DTO km = null; using (SqlConnection connection = XuLyDuLieu.MoKetNoi) { string query = string.Format("Select * from KhuyenMai where MaKhuyenMai = {0} ", maKM); SqlCommand cmd = new SqlCommand(query, connection); using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { km = new clsKhuyenMai_DTO(); km.MaKhuyenMai = maKM; km.TenKhuyenMai = reader["TenKhuyenMai"].ToString(); km.MoTa = reader["MoTa"].ToString(); DateTime?ngayTam = null; km.NgayBatDau = reader["NgayBatDau"] == DBNull.Value ? ngayTam : DateTime.Parse(reader["NgayBatDau"].ToString()); km.NgayKetThuc = reader["NgayKetThuc"] == DBNull.Value ? ngayTam : DateTime.Parse(reader["NgayKetThuc"].ToString()); km.TrangThai = (int)reader["TrangThai"]; } } connection.Close(); } return(km); }
public static bool Them(clsKhuyenMai_DTO khuyenMai) { int result = clsKhuyenMai_DAO.Them(khuyenMai); if (result >= 1) { khuyenMai.MaKhuyenMai = result; } return(result >= 1); }
public frmInHDBanHang(DataTable dt, clsHoaDon_DTO hd, clsKhuyenMai_DTO km, string tongTien) { dtSanPham = dt.Copy(); hoaDon = hd; khuyenMai = km; tongTien = tongTien.Trim(','); this.thanhTien = Helper.ChuyenSo(new string((from c in tongTien where char.IsWhiteSpace(c) || char.IsLetterOrDigit(c) select c).ToArray())); this.thanhTien = new CultureInfo("vn-VN").TextInfo.ToTitleCase(this.thanhTien) + "."; CapNhatLaiTenSP(); InitializeComponent(); }
public frmMatHang(clsKhuyenMai_DTO km) { InitializeComponent(); this.WindowState = FormWindowState.Normal; this.FormBorderStyle = FormBorderStyle.SizableToolWindow; this.Text = "CẬP NHẬT KHUYẾN MẠI"; this.FormClosed -= frmMatHang_FormClosed; this.FormClosing -= frmMatHang_FormClosing; dgvSanPham.AllowUserToDeleteRows = false; dgvSanPham.DoubleClick -= dgvSanPham_DoubleClick; dgvSanPham.Columns["ApDungKM"].Visible = true; dgvSanPham.Columns["colTenKhuyenMai"].Visible = true; dgvSanPham.Columns["colMauSac"].Visible = false; dgvSanPham.Columns["colSoLuong"].Visible = false; dgvSanPham.Columns["colHinhAnh"].Visible = false; khuyenMai = km; grbDanhMuc.Visible = false; lblHDXoa.Visible = false; lblHDSua.Visible = false; cboApDung.Visible = true; grpThongTinKM.Visible = true; btnXacNhan.Visible = true; txtMauSac.Visible = false; lblMauSac.Visible = false; if (khuyenMai.NgayBatDau != null && khuyenMai.NgayKetThuc != null) { DateTime timeNow = DateTime.Now; DateTime ngayBatDau = km.NgayBatDau ?? timeNow; int result = DateTime.Compare(timeNow, ngayBatDau); if (result >= 0) { DateTime ngayKetThuc = km.NgayKetThuc ?? DateTime.Now; result = DateTime.Compare(timeNow, ngayKetThuc); if (result <= 0) { khuyenMai = km; lblTenCTKM.Text = string.Format("- {0}", km.TenKhuyenMai); lblNgayKM.Text = string.Format("- Diễn ra từ ngày {0} đến hết ngày {1}", ngayBatDau.ToString("dd/MM/yyyy"), ngayKetThuc.ToString("dd/MM/yyyy")); return; } } } else { lblTenCTKM.Text = string.Format("- {0}", km.TenKhuyenMai); lblNgayKM.Text = "Không có thời hạn"; } }
private void btnThem_Click(object sender, EventArgs e) { clsChiTietSP_DTO CTSP = clsChiTietSanPham_BUS.LayChiTiet(txtMaCTSP.Text); if (CTSP == null) { MessageBox.Show("Sản phẩm không tồn tại."); return; } string soLuong = string.IsNullOrWhiteSpace(txtSoLuong.Text) ? "1" : txtSoLuong.Text; if (KiemTraSPTonTai(CTSP)) { CapNhatThongTinThanhToan(); CapNhatSoLuongChoBangTatCaSP(-int.Parse(soLuong), CTSP.MaCTSP); CapNhatSoLuongChoTextbox(); return; } clsSanPham_DTO sanPham = clsSanPham_BUS.LayThongTinMotSanPham(CTSP.MaSP); clsHinhAnh_DTO hinhAnhSP = clsHinhAnh_BUS.LayHinhAnh(CTSP.MaHinhAnh); clsKhuyenMai_DTO khuyenMai = clsKhuyenMai_BUS.LayKhuyenMai(sanPham.MaKhuyenMai); double giaGiamTru = ((double.Parse(khuyenMai.MoTa) / 100) * (double)sanPham.GiaBanLe); double tongTienSP = (((double)sanPham.GiaBanLe - giaGiamTru) * double.Parse(soLuong)); DataRow newRow = dtSanPham.NewRow(); newRow["HinhAnh"] = hinhAnhSP.Url; newRow["TenSP"] = sanPham.TenSP; newRow["MauSac"] = CTSP.MauSac; newRow["GiaBanLe"] = sanPham.GiaBanLe.ToString("0,00#"); newRow["TenKhuyenMai"] = khuyenMai.TenKhuyenMai; newRow["GiamTru"] = giaGiamTru.ToString("0,00#"); newRow["SoNamBH"] = sanPham.SoNamBH; newRow["SoLuong"] = soLuong; newRow["MaCTSP"] = CTSP.MaCTSP; newRow["MaKhuyenMai"] = khuyenMai.MaKhuyenMai; newRow["TongTien"] = tongTienSP.ToString("0,00#"); newRow["ThuongHieu"] = sanPham.ThuongHieu; newRow["KMGiamTru"] = khuyenMai.MoTa + "%"; dtSanPham.Rows.Add(newRow); CapNhatThongTinThanhToan(); CapNhatSoLuongChoBangTatCaSP(-int.Parse(soLuong), CTSP.MaCTSP); CapNhatSoLuongChoTextbox(); }
public static int Them(clsKhuyenMai_DTO khuyenMai) { using (SqlConnection conn = XuLyDuLieu.MoKetNoi) { string query = "Insert into KhuyenMai(NgayBatDau,NgayKetThuc,ApDungHD,TenKhuyenMai,MoTa) values (@NgayBatDau,@NgayKetThuc,@ApDungHD,@TenKhuyenMai,@MoTa) SELECT CAST(scope_identity() AS int)"; SqlCommand cmd = new SqlCommand(query, conn); cmd.Parameters.Add("@NgayBatDau", SqlDbType.Date).Value = khuyenMai.NgayBatDau == null ? DBNull.Value : (object)khuyenMai.NgayBatDau; cmd.Parameters.Add("@NgayKetThuc", SqlDbType.Date).Value = khuyenMai.NgayKetThuc == null ? DBNull.Value : (object)khuyenMai.NgayKetThuc; cmd.Parameters.Add("@ApDungHD", SqlDbType.Bit).Value = khuyenMai.ApDungHD; cmd.Parameters.Add("@TenKhuyenMai", SqlDbType.NVarChar).Value = khuyenMai.TenKhuyenMai; cmd.Parameters.Add("@MoTa", SqlDbType.NVarChar).Value = khuyenMai.MoTa; cmd.CommandType = CommandType.Text; try { return((int)cmd.ExecuteScalar()); } catch (SqlException e) { throw e; } } }
public static bool Sua(clsKhuyenMai_DTO khuyenMai) { using (SqlConnection conn = XuLyDuLieu.MoKetNoi) { string query = "UPDATE KhuyenMai Set NgayBatDau = @NgayBatDau, NgayKetThuc = @NgayKetThuc, ApDungHD = @ApDungHD, TenKhuyenMai = @TenKhuyenMai, MoTa = @MoTa where MaKhuyenMai = @MaKhuyenMai"; SqlCommand cmd = new SqlCommand(query, conn); cmd.Parameters.Add("@NgayBatDau", SqlDbType.Date).Value = khuyenMai.NgayBatDau == null ? DBNull.Value : (object)khuyenMai.NgayBatDau; cmd.Parameters.Add("@NgayKetThuc", SqlDbType.Date).Value = khuyenMai.NgayKetThuc == null ? DBNull.Value : (object)khuyenMai.NgayKetThuc; cmd.Parameters.Add("@ApDungHD", SqlDbType.Bit).Value = khuyenMai.ApDungHD; cmd.Parameters.Add("@TenKhuyenMai", SqlDbType.NVarChar).Value = khuyenMai.TenKhuyenMai; cmd.Parameters.Add("@MoTa", SqlDbType.NVarChar).Value = khuyenMai.MoTa; cmd.Parameters.Add("@MaKhuyenMai", SqlDbType.Int).Value = khuyenMai.MaKhuyenMai; cmd.CommandType = CommandType.Text; try { return(cmd.ExecuteNonQuery() >= 1); } catch (SqlException e) { throw e; } } }
public static bool Sua(clsKhuyenMai_DTO khuyenMai) { return(clsKhuyenMai_DAO.Sua(khuyenMai)); }
private void btnXacNhan_Click(object sender, EventArgs e) { if (khachHang == null) { // Khách hàng mới khachHang = new clsKhachHang_DTO(txtTenKH.Text, txtSDT.Text, Helper.GetTimestamp(DateTime.Now)); clsKhachHang_BUS.Them(khachHang); } hoaDonHienTai = new clsHoaDon_DTO( Helper.GetTimestamp(DateTime.Now), Validation.LayMaNhanVien(), string.IsNullOrWhiteSpace(txtGhiChu.Text) ? "Không" : txtGhiChu.Text, double.Parse(lblGiamTru.Text), double.Parse(lblThanhTien.Text), khachHang, khuyenMai); if (clsHoaDon_BUS.Them(hoaDonHienTai)) { // Chi tiet hoa don foreach (DataRow row in dtSanPham.Rows) { clsKhuyenMai_DTO km = new clsKhuyenMai_DTO ( row["TenKhuyenMai"].ToString(), row["GiamTru"].ToString(), false, null, null, 1, int.Parse(row["MaKhuyenMai"].ToString()) ); clsChiTietHD_DTO cthd = new clsChiTietHD_DTO ( Helper.GetTimestamp(DateTime.Now), row["MaCTSP"].ToString(), double.Parse(row["GiamTru"].ToString()), double.Parse(row["TongTien"].ToString()), int.Parse(row["SoLuong"].ToString()), km, hoaDonHienTai ); if (!clsChiTietHD_BUS.Them(cthd)) { MessageBox.Show("Đã xảy ra lỗi khi tạo chi tiết hóa đơn, vui lòng thử lại hoặc liên hệ Admin để xử lý."); // TODO: Xóa hóa đơn đã tạo ở trên return; } else { // TODO: Giam so luong ton kho trong database if (!clsChiTietSanPham_BUS.CapNhatSoLuong(cthd.MaCTSP, cthd.SoLuong)) { MessageBox.Show("Đã xảy ra lỗi khi cập nhật số lượng, vui lòng thử lại hoặc liên hệ Admin để xử lý."); return; } } int milliseconds = 100; Thread.Sleep(milliseconds); } DialogResult result = MessageBox.Show("Tạo hóa đơn thành công, bạn có muốn In ngay bây giờ?", "Thông báo", MessageBoxButtons.OKCancel); if (result == DialogResult.OK) { In(); } btnIn.Enabled = true; XacNhanHoaDon(false); } else { MessageBox.Show("Thêm hóa đơn thất bại."); } }