コード例 #1
0
        public HoaDonBanHangDTO TimHoaDon_TraHang(int MaHD)
        {
            string query = "SELECT * FROM HOADONBANHANG WHERE MAHOADON = @MaHD";
            List <SqlParameter> find_values = new List <SqlParameter>
            {
                new SqlParameter("@MaHD", MaHD)
            };
            DataTable dt = db.ExecuteQuery(query, find_values);

            HoaDonBanHangDTO hoadonSearch = new HoaDonBanHangDTO();

            foreach (DataRow dr in dt.Rows)
            {
                hoadonSearch.maKH               = (int)dr["MAKH"];
                hoadonSearch.maNVLap            = (int)dr["MANVLAP"];
                hoadonSearch.maNVGiao           = (int)dr["MANVGIAO"];
                hoadonSearch.maNVXacThuc        = (int)dr["MANVXACTHUC"];
                hoadonSearch.tongTien           = Convert.ToSingle(dr["TONGTIEN"]);
                hoadonSearch.hinhThucThanhToan  = (bool)dr["HINHTHUCTHANHTOAN"];
                hoadonSearch.xacNhanDaThanhToan = (bool)dr["XACNHANDATHANHTOAN"];
                hoadonSearch.ngayGiao           = (DateTime)dr["NGAYGIAO"];
                hoadonSearch.soTienThanhToan    = Convert.ToSingle(dr["SOTIENTHANHTOAN"]);
                hoadonSearch.ngayLap            = (DateTime)(dr["NGAYLAPHOADON"]);
            }

            return(hoadonSearch);
        }
コード例 #2
0
        public static bool ThemHD(HoaDonBanHangDTO HD)
        {
            try
            {
                SqlConnection con = DataProvider.Connection();
                SqlCommand    cmd = new SqlCommand("sp_ThemHD", con);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@mahd", SqlDbType.VarChar);
                cmd.Parameters.Add("@ngaylap", SqlDbType.Date);
                cmd.Parameters.Add("@makh", SqlDbType.VarChar);
                cmd.Parameters.Add("@manv", SqlDbType.VarChar);
                cmd.Parameters.Add("@tongtien", SqlDbType.Int);

                cmd.Parameters["@mahd"].Value     = HD.MaHoaDonBanHang;
                cmd.Parameters["@ngaylap"].Value  = HD.NgayLap;
                cmd.Parameters["@makh"].Value     = HD.MaKhachHang;
                cmd.Parameters["@manv"].Value     = HD.MaNhanVien;
                cmd.Parameters["@tongtien"].Value = HD.TongTien;
                cmd.ExecuteNonQuery();
                con.Close();
                return(true);
            }
            catch
            {
                return(false);
            }
        }
コード例 #3
0
        private void XoaHoaDon_comboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            HoaDonBanHangBUS HD_bus = new HoaDonBanHangBUS();
            ChiTietHoaDonBUS CT_bus = new ChiTietHoaDonBUS();
            KhachHangBUS     KH_bus = new KhachHangBUS();

            // Đọc thông tin hóa đơn và tìm thông tin khách hàng với MaKH trong hóa đơn
            HoaDonBanHangDTO HD = HD_bus.LoadTTHoaDon(Int32.Parse(XoaHoaDon_comboBox.Text));
            KhachHangDTO     KH = KH_bus.TimKhachHangTheoMaKH(HD.maKH);

            // Đổ các thông tin dữ liệu vào phần textbox
            MaDonXoaHD_textBox.Text        = HD.maHoaDon.ToString();
            NgayLapXoaHD_textBox.Text      = HD.ngayLap.ToString();
            NgayGiaoHangXoaHD_textBox.Text = HD.ngayGiao.ToString();

            HoTenXoaHD_textBox.Text  = KH.tenKH;
            DiaChiXoaHD_textBox.Text = KH.diaChiKH;
            EmailXoaHD_textBox.Text  = KH.emailKH;

            MaNVGiaoXoaHD_textBox.Text     = HD.maNVGiao.ToString();
            MaNVLapXoaHD_textBox.Text      = HD.maNVLap.ToString();
            TongTienHoaDonXoa_textBox.Text = HD.tongTien.ToString();
            if (HD.xacNhanDaThanhToan == false)
            {
                TrangThaiHoaDon_textBox.Text = "Chưa Thanh Toán";
            }
            else
            {
                TrangThaiHoaDon_textBox.Text = "Đã Thanh Toán";
            }

            //Đọc các chi tiết hóa đơn của hóa đơn
            List <ChiTietHoaDonDTO> List_CT = CT_bus.LoadCTHoaDon(HD.maHoaDon);

            // Tạo datatable để đổ data từ chi tiết hóa đơn từ giỏ hàng vào
            DataTable source = new DataTable();

            source.Columns.Add(new DataColumn("MA HANG", Type.GetType("System.Int32")));
            source.Columns.Add(new DataColumn("TEN HANG", Type.GetType("System.String")));
            source.Columns.Add(new DataColumn("SO LUONG MUA", Type.GetType("System.Int32")));
            source.Columns.Add(new DataColumn("DON GIA", Type.GetType("System.Single")));

            // Thêm từng dòng dữ liệu vào datatable
            foreach (ChiTietHoaDonDTO i in List_CT)
            {
                DataRow temp = source.NewRow();
                temp["MA HANG"]      = i.maHang;
                temp["TEN HANG"]     = i.TenHang;
                temp["SO LUONG MUA"] = i.soLuong;
                temp["DON GIA"]      = i.DonGia;
                source.Rows.Add(temp);
            }

            ChiTietHoaDonXoaHD_dataGridView.DataSource = source;
        }
コード例 #4
0
        public HoaDonBanHangDTO DocThongTinHD(int MaHD)
        {
            string query = "SELECT * FROM HOADONBANHANG WHERE MAHOADON = @MaHD";
            List <SqlParameter> find_values = new List <SqlParameter>
            {
                new SqlParameter("@MaHD", MaHD)
            };
            DataTable dt = db.ExecuteQuery(query, find_values);

            DataRow          temp = dt.Rows[0];
            HoaDonBanHangDTO ret  = new HoaDonBanHangDTO(MaHD, (int)temp["MAKH"], (int)temp["MANVLAP"], (int)temp["MANVGIAO"],
                                                         (int)temp["MANVXACTHUC"], Convert.ToSingle(temp["TONGTIEN"]), Convert.ToBoolean(temp["HINHTHUCTHANHTOAN"]),
                                                         Convert.ToBoolean(temp["XACNHANDATHANHTOAN"]), DateTime.Parse(temp["NGAYGIAO"].ToString()),
                                                         DateTime.Parse(temp["NGAYLAPHOADON"].ToString()), Convert.ToSingle(temp["SOTIENTHANHTOAN"]));

            return(ret);
        }
コード例 #5
0
        // ============================TRA HANG SECTION ================== //
        private void Nhap_THHoaDon_Click(object sender, EventArgs e)
        {
            if (trahangMaHD_txtbox.Text.Trim() == string.Empty)
            {
                MessageBox.Show("Bạn Chưa Nhập Mã Hóa Đơn!");
                return;
            }
            int maHD = Int32.Parse(trahangMaHD_txtbox.Text);
            HoaDonBanHangBUS hoadonBus    = new HoaDonBanHangBUS();
            HoaDonBanHangDTO hoadonSearch = hoadonBus.SearchHD_TraHang(maHD);

            this.dtGV_THHoaDon.Rows.Clear();
            this.dtGV_THHoaDon.Rows.Add(hoadonSearch.maKH, hoadonSearch.maNVLap, hoadonSearch.maNVGiao,
                                        hoadonSearch.maNVXacThuc, hoadonSearch.tongTien, hoadonSearch.hinhThucThanhToan,
                                        hoadonSearch.xacNhanDaThanhToan, hoadonSearch.ngayGiao,
                                        hoadonSearch.soTienThanhToan, hoadonSearch.ngayLap);
            this.dtGV_THHoaDon.ClearSelection();
        }
コード例 #6
0
        //public int docmahdmoinhat()
        //{
        //    string query = "select mahd from hoadonbanhang where "
        //}
        public void ThemHoaDonBanHang(HoaDonBanHangDTO HD)
        {
            string query = "INSERT INTO HOADONBANHANG(MAKH, MANVLAP,MANVGIAO,MANVXACTHUC,TONGTIEN,HINHTHUCTHANHTOAN,XACNHANDATHANHTOAN,NGAYGIAO,SOTIENTHANHTOAN,NGAYLAPHOADON) VALUES (@MaKH, @MaNVLap, @MaNVGiao, @MaNVXacThuc, @TongTien, @HinhThucThanhToan, @XacNhanDaThanhToan,@NgayGiaoHang, @SoTienThanhToan, @NgayLap)";
            List <SqlParameter> Inserted_values = new List <SqlParameter>
            {
                //Inserted_values.Add(new SqlParameter("@MaHD", HD.maHoaDon));
                new SqlParameter("@MaKH", HD.maKH),
                new SqlParameter("@MaNVLap", HD.maNVLap),
                new SqlParameter("@MaNVGiao", HD.maNVGiao),
                new SqlParameter("@MaNVXacThuc", HD.maNVXacThuc),
                new SqlParameter("@TongTien", HD.tongTien),
                new SqlParameter("@HinhThucThanhToan", HD.hinhThucThanhToan),
                new SqlParameter("@XacNhanDaThanhToan", HD.xacNhanDaThanhToan),
                new SqlParameter("@NgayGiaoHang", HD.ngayGiao),
                new SqlParameter("@SoTienThanhToan", HD.soTienThanhToan),
                new SqlParameter("@NgayLap", HD.ngayLap)
            };

            db.ExecuteNonQuery(query, Inserted_values);
        }
コード例 #7
0
 public void LapHoaDonBanHang(HoaDonBanHangDTO HD)
 {
     hoaDonBanHangDAO.ThemHoaDonBanHang(HD);
 }
コード例 #8
0
 public bool KiemTraTrangThaiHoaDon(HoaDonBanHangDTO HD)
 {
     return(HD.xacNhanDaThanhToan);
 }
        private void btnIn_Click(object sender, EventArgs e)
        {
            int SoDiem = 0;

            if (HoaDonBanHangBUS.KiemTraChiTietHoaDon(dgvDanhSach.RowCount) == "")
            {
                // Thêm hóa đơn mới.
                HoaDonBanHangDTO HD = new HoaDonBanHangDTO();
                HD.MaHoaDonBanHang = txtSoHD.Text;
                HD.NgayLap         = dtkNgayLap.Value;
                HD.MaKhachHang     = txtMaKH.Text;
                HD.MaNhanVien      = txtMaNV.Text;
                HD.TongTien        = Tien;
                if (HoaDonBanHangBUS.ThemHD(HD) == true)
                {
                    btnLapHoaDonMoi.Enabled = true;
                    pbcheck.Enabled         = false;
                    // Thêm chi tiết hóa đơn.
                    for (int k = 0; k < dgvDanhSach.Rows.Count; k++)
                    {
                        ChiTietHoaDonBanHangDTO CT = new ChiTietHoaDonBanHangDTO();
                        CT.MaHoaDonBanHang = txtSoHD.Text;
                        CT.MaSanPham       = dgvDanhSach.Rows[k].Cells[0].Value.ToString();
                        CT.SoLuong         = int.Parse(dgvDanhSach.Rows[k].Cells[2].Value.ToString());
                        if (HoaDonBanHangBUS.ThemCTHD(CT) == true)
                        {
                            // Update số lượng tồn.
                            if (HoaDonBanHangBUS.UpdateSLT(dgvDanhSach.Rows[k].Cells[0].Value.ToString(), int.Parse(dgvDanhSach.Rows[k].Cells[2].Value.ToString())) == false)
                            {
                                MessageBox.Show("Cập nhật số lượng tồn thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                        }
                        else
                        {
                            MessageBox.Show("Thêm chi tiết hóa đơn thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                    // Cập nhật điểm cho khách hàng.
                    SoDiem = KhachHangBUS.Congdiem(Tien);
                    if (KhachHangBUS.UpdateDiemKH(txtMaKH.Text, SoDiem) == false)
                    {
                        MessageBox.Show("Cập nhật điểm thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    btnIn.Enabled     = false;
                    btnThemSP.Enabled = false;
                    // Xuất ra cystal report.
                    frmXuatHoaDonBanHang frm = new frmXuatHoaDonBanHang(txtSoHD.Text);
                    this.Hide();
                    frm.ShowDialog();
                    this.Show();
                }
                else
                {
                    MessageBox.Show("Thêm hóa đơn thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                MessageBox.Show(string.Format("{0}", HoaDonBanHangBUS.KiemTraChiTietHoaDon(dgvDanhSach.RowCount)), "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #10
0
        private void LapHoaDonBanHang_button_Click_1(object sender, EventArgs e)
        {
            HoaDonBanHangBUS HD_bus = new HoaDonBanHangBUS();
            ChiTietHoaDonBUS CT_bus = new ChiTietHoaDonBUS();
            KhachHangBUS     KH_bus = new KhachHangBUS();

            // Đọc dữ liệu từ text box lên
            int MaHD = Int32.Parse(MaHoaDonBan_textbox.Text);
            //DateTime NgayLap = DateTime.Parse(NgayLapHDBan_textBox.Text);
            DateTime NgayGiao = NgayGiaoHang_dateTimePicker4.Value;

            string HoTen  = HoTen_textBox.Text;
            string DiaChi = DiaChiKhach_textBox.Text;
            string Email  = EmailKhachHang_textBox.Text;

            int MaNV     = Int32.Parse(MaNVLapHDBan_textBox.Text);
            int MaNVGiao = Int32.Parse(MaNVGiaoHangHDBan_comboBox.Text);
            int TongTien = Int32.Parse(TongTienLap_textbox.Text);

            //KH_bus.KiemTraThongTinKH(HoTen, DiaChi, Email) == true
            // xử lí thông tin
            if (HD_bus.KiemTraNgayGiaoHang(NgayGiao) == true && KH_bus.KiemTraThongTinKH(HoTen, DiaChi, Email) == true) // kiểm tra tính đúng đắn thông tin của khách hàng và ngày giao
            {
                int MaKH = KH_bus.SearchKH(HoTen, Email);                                                               // Kiểm tra xem có khách hàng nào có thông tin như trên trong db không
                if (MaKH == 0)                                                                                          //khong có khách hàng trong database
                {
                    try
                    {
                        MaKH = KH_bus.CreateMaKH(); // tạo 1 mã Khách hàng mới
                        KhachHangDTO KH = KH_bus.KhoiTao(HoTen, Email, DiaChi);
                        KH_bus.ThemKhachHang_bus(KH);
                        MessageBox.Show("Them khach hang thanh cong!");
                    }
                    catch (Exception er)
                    {
                        MessageBox.Show("Them khach hang khong thanh cong, Loi:" + er.ToString());
                        return;
                    }
                }

                try
                {
                    // Khoi tạo hóa đơn
                    HoaDonBanHangDTO HD = HD_bus.KhoiTao(NgayGiao, MaKH, MaNV, MaNVGiao, MaHD, TongTien);
                    HD_bus.LapHoaDonBanHang(HD);

                    // Đọc lại chi tiết từ giỏ hàng
                    List <ChiTietHoaDonDTO> GioHang = CT_bus.DocChiTietTuGioHang(HD_bus.CreateMaHD() - 1);
                    foreach (ChiTietHoaDonDTO CT in GioHang)
                    {
                        //MessageBox.Show("MaHoaDon:" + CT.maHoaDon.ToString() + "MaHang: " + CT.maHang.ToString() + "SoLuong:" + CT.soLuong.ToString());
                        CT_bus.ThemChiTietDon_bus(CT);
                    }
                    MessageBox.Show("Them Hóa đơn thành công!");
                }
                catch (Exception er)
                {
                    MessageBox.Show("Thêm hóa đơn thất bại!, Loi: " + er.ToString());
                    return;
                }

                MaHoaDonBan_textbox.Text       = HD_bus.CreateMaHD().ToString();
                NgayLapHDBan_textBox.Text      = DateTime.Now.ToString();
                DiaChiKhach_textBox.Text       = "";
                EmailKhachHang_textBox.Text    = "";
                HoTen_textBox.Text             = "";
                TongTienHoaDonXoa_textBox.Text = "";
                if (ChiTietHoaDonXoaHD_dataGridView.Rows.Count != 0)
                {
                    ChiTietHDBan_dataGridView.DataSource = null;
                }
                ChiTietHDBan_dataGridView.Refresh();
            }
            else
            {
                MessageBox.Show("Thong tin khách hàng sai qui cách hoặc ngày sai qui định!");
            }
        }
コード例 #11
0
ファイル: HoaDonBanHangBUS.cs プロジェクト: LongKelvin/QLST-1
        public bool xoaHoaDonBanHang(HoaDonBanHangDTO hoaDonBanHangDto)
        {
            bool re = this.hdDAL.xoa(hoaDonBanHangDto);

            return(re);
        }
コード例 #12
0
ファイル: HoaDonBanHangBUS.cs プロジェクト: LongKelvin/QLST-1
        public bool themHoaDonBanHang(HoaDonBanHangDTO hoaDonBanHangDto)
        {
            bool re = this.hdDAL.them(hoaDonBanHangDto);

            return(re);
        }
 public static bool ThemHD(HoaDonBanHangDTO HD)
 {
     return(HoaDonBanHangDAO.ThemHD(HD));
 }