Example #1
0
        private void btnDongY_Click(object sender, EventArgs e)
        {
            int count = listViewDSBanGhep.Items.Count;

            if (count <= 1)
            {
                MessageBox.Show("Ban phai chon it nhat 2 ban de ghep.");
                return;
            }

            if (indexBan != -1)
            {
                int mabanNew = lsBan[indexBan].MaBan;

                int maHDchon      = int.Parse(listViewDSBanGhep.Items[0].SubItems[2].Text);
                int maBanchon_old = int.Parse(listViewDSBanGhep.Items[0].SubItems[0].Text);
                BanAn_BUS.UpdateTrangThaiBanAn(maBanchon_old, 0);

                //doc lai cthd cua maHDchon de len danh sach kiem tra trung khoa chinh
                DataTable dtCthdChon = ChiTietHoaDon_BUS.SelectTableCTHD(maHDchon);

                for (int i = 1; i < count; i++)
                {
                    int maHDold  = int.Parse(listViewDSBanGhep.Items[i].SubItems[2].Text);
                    int maBanold = int.Parse(listViewDSBanGhep.Items[i].SubItems[0].Text);

                    //giai phong cac ban cu
                    BanAn_BUS.UpdateTrangThaiBanAn(maBanold, 0);

                    //voi moi maHDold, cong don chi tiet hoa don, kiem tra khoa chinh
                    DataTable dtCthdOld = ChiTietHoaDon_BUS.SelectTableCTHD(maHDold);
                    foreach (DataRow row in dtCthdOld.Rows)
                    {
                        int  n         = dtCthdChon.Rows.Count;
                        bool duplicate = false;
                        //chen cac dong cua cthoadon cu vao ct hoa don chung
                        //cong don so luong va thanh tien neu co mon an trung nhau
                        for (int j = 0; j < n; j++)
                        {
                            if ((int)dtCthdChon.Rows[j].ItemArray[1] == (int)row.ItemArray[1])
                            {
                                duplicate = true;
                                int     tongsl = (int)dtCthdChon.Rows[j].ItemArray[2] + (int)row.ItemArray[2];
                                DataRow newRow = dtCthdChon.NewRow();
                                newRow[0] = maHDchon;
                                newRow[1] = (int)dtCthdChon.Rows[j].ItemArray[1];
                                newRow[2] = tongsl;
                                newRow[3] = 0;      //tong tien se duoc tu dong tinh lai khi insert CTHD
                                dtCthdChon.Rows.Add(newRow);
                                dtCthdChon.Rows.RemoveAt(j);
                                break;
                            }
                        }

                        if (!duplicate)
                        {
                            //chen dong
                            DataRow newRow = dtCthdChon.NewRow();
                            newRow[0] = maHDchon;
                            newRow[1] = (int)row.ItemArray[1];
                            newRow[2] = (int)row.ItemArray[2];
                            newRow[3] = (double)row.ItemArray[3];
                            dtCthdChon.Rows.Add(newRow);
                        }
                    }
                    //xoa cthd cu
                    ChiTietHoaDon_BUS.DeleteCTHDtheoMaHD(maHDold);
                    //xoa hoa don cu
                    HoaDon_BUS.DeleteHoaDon(maHDold);
                }       //ket thuc vong lap cho cac ban ghep (tru ban dau)
                //xoa cthd moi (vi dtCthdChon da chua tat ca)       ;   nhu vay toan bo CTHD da dc xoa
                ChiTietHoaDon_BUS.DeleteCTHDtheoMaHD(maHDchon);

                //cap nhat hoa don chung
                HoaDon_BUS.UpdateMaBan(maHDchon, mabanNew);

                BanAn_BUS.UpdateTrangThaiBanAn(mabanNew, 1);
                //insert cac cthd moi
                foreach (DataRow row in dtCthdChon.Rows)
                {
                    ChiTietHoaDon_BUS.insertCTHD((int)row.ItemArray[0], (int)row.ItemArray[1], (int)row.ItemArray[2], Mode);
                }

                reloadListboxBanAn();
                this.Close();
            }
            else
            {
                MessageBox.Show("Vui long chon ban muon ghep den.");
            }
        }
Example #2
0
        private void loadCTHD()
        {
            int i = Convert.ToInt16(comboBoxEditHoaDon.Text);

            for (int j = 0; j < HoaDon_BUS.LoadHoaDon().Rows.Count; j++)
            {
                if (i == Convert.ToInt16(HoaDon_BUS.LoadHoaDon().Rows[j][0]))
                {
                    dateEditNgayLap.EditValue = Convert.ToDateTime(HoaDon_BUS.LoadHoaDon().Rows[j][1]);
                    txtGiamGia.Text           = Convert.ToString(HoaDon_BUS.LoadHoaDon().Rows[j][4]);
                    txtTongTien.Text          = Convert.ToString(HoaDon_BUS.LoadHoaDon().Rows[j][5]);
                    txtNhanVien.Text          = Convert.ToString(HoaDon_BUS.LoadHoaDon().Rows[j][3]);
                    if (Convert.ToString(HoaDon_BUS.LoadHoaDon().Rows[j][2]) != "")
                    {
                        txtEditKH.Text = HoaDon_BUS.LayKH(Convert.ToString(HoaDon_BUS.LoadHoaDon().Rows[j][2]));
                    }
                    else
                    {
                        txtEditKH.ResetText();
                    }
                    gridControl.DataSource = HoaDon_BUS.LoadChiTietHD(Convert.ToString(HoaDon_BUS.LoadHoaDon().Rows[j][0]));
                    break;
                }
            }
        }
Example #3
0
        private void btnXoaSach_Click(object sender, EventArgs e)
        {
            // Lấy ra tiền nợ đang có của khách hàng
            if (ThamSo_BUS.SelectTienNoKH(int.Parse(txtMaKhachHang.Text)) == null)
            {
                MessageBox.Show("Bạn không được xóa sách này, vì khách hàng này đã trả một phần tiền của sách này bên phiếu thu tiền hoặc đã thanh toán trực tiếp!");
                return;
            }
            DataTable dt2          = ThamSo_BUS.SelectTienNoKH(int.Parse(txtMaKhachHang.Text));
            UInt64    tienNoDangCo = UInt64.Parse(dt2.Rows[0].ItemArray[5].ToString());

            //Lấy ra ThanhTien cua MaSach được chọn để xóa
            UInt64        TiencuaSachDcXoa = HoaDon_BUS.ThanhTienSach(int.Parse(txtMaHoaDonCT.Text), int.Parse(txtMaSach.Text));
            KhachHang_DTO kh = new KhachHang_DTO();

            // Tính lại tiền nợ của khách khi xóa sách
            UInt64 tiennoSaukhiXoaSach = tienNoDangCo - TiencuaSachDcXoa;

            kh.MaKhachHang = int.Parse(txtMaKhachHang.Text);
            kh.SoTienNo    = tiennoSaukhiXoaSach;
            string ketQua2 = KhachHang_BUS.UpdateTienNo(kh);

            if (ketQua2 != "Success")
            {
                MessageBox.Show("Bạn không được xóa sách này, vì khách hàng này đã trả một phần tiền của sách này bên phiếu thu tiền hoặc đã thanh toán trực tiếp!");
                return;
            }
            // Cập nhật lại tồn sau khi xóa sách
            DataTable dt3             = ThamSo_BUS.SelectSoLuongTon(int.Parse(txtMaSach.Text));
            uint      luongTonHienTai = uint.Parse(dt3.Rows[0].ItemArray[4].ToString());

            uint luongsachdamua = uint.Parse(HoaDon_BUS.SoLuongKHMua(int.Parse(txtMaSach.Text), int.Parse(txtMaHoaDonCT.Text)).ToString());

            uint     soluongtonnew = luongTonHienTai + luongsachdamua;
            Sach_DTO s             = new Sach_DTO();

            s.MaSach     = int.Parse(txtMaSach.Text);
            s.SoLuongTon = (int)soluongtonnew;
            ketQua2      = Sach_BUS.UpdateSoLuongTon(s);
            if (ketQua2 != "Success")
            {
                MessageBox.Show(ketQua2);
                return;
            }


            // xóa sách trong CT_HOADON
            string ketQua = HoaDon_BUS.XoaSachtrongCT(int.Parse(txtMaSach.Text), int.Parse(txtMaHoaDonCT.Text));

            if (ketQua != "Success")
            {
                MessageBox.Show(ketQua);
                return;
            }

            // Cap nhật lại Tổng tiền và Còn Lại
            HoaDon_DTO hd = new HoaDon_DTO();

            if (HoaDon_DAO.KiemtramaHD(int.Parse(txtMaHoaDon.Text)))
            {
                hd.MaHD      = int.Parse(txtMaHoaDon.Text);
                hd.TongTien  = 0;
                hd.ThanhToan = 0;
                hd.ConLai    = 0;
            }
            else
            {
                hd.MaHD      = int.Parse(txtMaHoaDon.Text);
                hd.TongTien  = UInt64.Parse(HoaDon_BUS.TongThanhTien(hd).Rows[0].ItemArray[0].ToString());
                hd.ThanhToan = 0;
                hd.ConLai    = UInt64.Parse(HoaDon_BUS.TongThanhTien(hd).Rows[0].ItemArray[0].ToString());
            }

            HoaDon_BUS.UpdateTongTien(hd);
            HoaDon_BUS.UpdateConLai(hd);

            //HienThiDanhSachHoaDon();
            HienThiDanhSachChiTietHoaDon();
        }
Example #4
0
        private void btnCapNhat_Click(object sender, EventArgs e)
        {
            // kiểm tra xem khách hàng này đã thanh toán sách chưa, nếu chưa mới cho phép cập nhật
            if (int.Parse(txtDaThanhToan.Text) != 0)
            {
                MessageBox.Show("Hóa đơn này đã thanh toán một phần tiền! \nBạn không được cập nhật lại số lượng sách!");
                return;
            }

            // Kiểm tra xem có mã sách trong bảng CT_HOADON không
            if (HoaDon_DAO.KiemtramaSach(int.Parse(txtMaSach.Text), int.Parse(txtMaHoaDonCT.Text)))
            {
                MessageBox.Show("Không có mã sách mà bạn cần sửa");
                return;
            }
            // cập nhật tồn sách
            string    ketQua;
            DataTable dt3             = ThamSo_BUS.SelectSoLuongTon(int.Parse(txtMaSach.Text));
            int       luongTonHienTai = int.Parse(dt3.Rows[0].ItemArray[4].ToString());
            int       soLuongthaydoi  = int.Parse(txtSoLuong.Text);
            int       soLuonglucdau   = HoaDon_BUS.SoLuongKHMua(int.Parse(txtMaSach.Text), int.Parse(txtMaHoaDonCT.Text));
            int       soluongtonnew;

            if (soLuongthaydoi > soLuonglucdau)
            {
                soluongtonnew = luongTonHienTai - (soLuongthaydoi - soLuonglucdau);
            }
            else
            {
                soluongtonnew = luongTonHienTai + (soLuonglucdau - soLuongthaydoi);
            }
            Sach_DTO s = new Sach_DTO();

            s.MaSach     = int.Parse(txtMaSach.Text);
            s.SoLuongTon = (int)soluongtonnew;
            ketQua       = Sach_BUS.UpdateSoLuongTon(s);
            if (ketQua != "Success")
            {
                MessageBox.Show(ketQua);
                return;
            }

            // cập nhật tiền nợ của khách
            // Lấy ra tiền nợ đang có của khách hàng
            DataTable dt2               = ThamSo_BUS.SelectTienNoKH(int.Parse(txtMaKhachHang.Text));
            UInt64    tienNoDangCo      = UInt64.Parse(dt2.Rows[0].ItemArray[5].ToString());
            UInt64    TienmuaLucdau     = UInt64.Parse(soLuonglucdau.ToString()) * UInt64.Parse(txtDonGia.Text);
            UInt64    TienmuaLucThaydoi = UInt64.Parse(soLuongthaydoi.ToString()) * UInt64.Parse(txtDonGia.Text);
            UInt64    tienNoSaukhiCapNhat;

            // Tính lại tiền nợ của khách khi thay dởi số lượng sách
            if (TienmuaLucdau < TienmuaLucThaydoi)
            {
                tienNoSaukhiCapNhat = tienNoDangCo + (TienmuaLucThaydoi - TienmuaLucdau);
            }
            else
            {
                tienNoSaukhiCapNhat = tienNoDangCo - (TienmuaLucdau - TienmuaLucThaydoi);
            }

            KhachHang_DTO kh = new KhachHang_DTO();

            kh.MaKhachHang = int.Parse(txtMaKhachHang.Text);
            kh.SoTienNo    = tienNoSaukhiCapNhat;
            string ketQua2 = KhachHang_BUS.UpdateTienNo(kh);

            if (ketQua2 != "Success")
            {
                MessageBox.Show(ketQua2);
                return;
            }


            // Cập nhật số lượng sách
            CT_HoaDon_DTO ct = new CT_HoaDon_DTO();

            ct.MaSach    = int.Parse(txtMaSach.Text);
            ct.MaHD      = int.Parse(txtMaHoaDonCT.Text);
            ct.SoLuong   = uint.Parse(txtSoLuong.Text);
            ct.ThanhTien = TienmuaLucThaydoi;
            ketQua       = HoaDon_BUS.SuaSoLuongSachKHMua(ct);
            if (ketQua != "Success")
            {
                MessageBox.Show(ketQua);
                return;
            }

            // Cap nhật lại Tổng tiền và Còn Lại
            HoaDon_DTO hd = new HoaDon_DTO();

            hd.MaHD      = int.Parse(txtMaHoaDon.Text);
            hd.TongTien  = UInt64.Parse(HoaDon_BUS.TongThanhTien(hd).Rows[0].ItemArray[0].ToString());
            hd.ThanhToan = 0;
            hd.ConLai    = UInt64.Parse(HoaDon_BUS.TongThanhTien(hd).Rows[0].ItemArray[0].ToString());
            HoaDon_BUS.UpdateTongTien(hd);
            HoaDon_BUS.UpdateConLai(hd);

            //HienThiDanhSachHoaDon();
            HienThiDanhSachChiTietHoaDon();
        }
Example #5
0
        private void button2_Click(object sender, EventArgs e)
        {
            txtTienTraKhach.Text = "";
            //if (txtConLai.Text == "0")
            //{
            //    try
            //    {
            //        HoaDon_DTO tam = new HoaDon_DTO();
            //        tam.MaHD = int.Parse(txtMaHoaDon.Text);
            //        txtThu.Text = tam.MaHD.ToString();
            //        UInt64 thanhToan = 0;
            //        try
            //        {
            //            thanhToan = UInt64.Parse(txtThanhToan.Text);
            //            tam.ThanhToan = thanhToan;
            //        }
            //        catch (FormatException)
            //        {
            //            MessageBox.Show("Số tiền thanh toán phải là số và không được để trống");
            //            return;
            //        }
            //        UInt64 tongTien = UInt64.Parse(txtTongTien.Text);
            //        if (thanhToan > tongTien)
            //        {
            //            MessageBox.Show("Thanh toán không được lớn hơn tổng tiền");
            //            return;
            //        }
            //        UInt64 conLai = tongTien - thanhToan;
            //        txtConLai.Text = conLai.ToString();


            //        DataTable dt = ThamSo_BUS.GetThamSoAll();
            //        UInt64 noToiDa = UInt64.Parse(dt.Rows[0].ItemArray[4].ToString());
            //        DataTable dt2 = ThamSo_BUS.SelectTienNoKH(int.Parse(txtMaKhachHangCT.Text));
            //        UInt64 tienNo = UInt64.Parse(dt2.Rows[0].ItemArray[5].ToString());

            //        //if ((conLai + tienNo) > noToiDa)
            //        //{
            //        //    string ketQua = HoaDon_BUS.XoaCTHoaDonByMa(int.Parse(txtMaHoaDon.Text));
            //        //    if (ketQua != "Success")
            //        //    {
            //        //        MessageBox.Show(ketQua);
            //        //        return;
            //        //    }
            //        //    ketQua = HoaDon_BUS.XoaHoaDonByMa(int.Parse(txtMaHoaDon.Text));
            //        //    if (ketQua != "Success")
            //        //    {
            //        //        MessageBox.Show(ketQua);
            //        //        return;
            //        //    }
            //        //    MessageBox.Show("Vì số tiền hóa đơn này cộng với số tiền nợ cũ lớn hơn quy định nợ cho phép nên hóa đơn này sẽ bị hủy. Mong quý khách vui lòng trả nợ!");
            //        //    HienThiDanhSachHoaDon();
            //        //    return;
            //        //}
            //        //else
            //        //{
            //            KhachHang_DTO kh = new KhachHang_DTO();
            //            kh.MaKhachHang = int.Parse(txtMaKhachHang.Text);
            //            kh.SoTienNo = conLai + tienNo;
            //            string ketQua = KhachHang_BUS.UpdateTienNo(kh);
            //            if (ketQua != "Success")
            //            {
            //                MessageBox.Show(ketQua);
            //                return;
            //            }
            //            MessageBox.Show("Thanh toán thành công");
            //            tam.ConLai = conLai;
            //            HoaDon_BUS.UpdateThanhToan(tam);
            //            HoaDon_BUS.UpdateConLai(tam);
            //        //}
            //    }
            //    catch (FormatException)
            //    {
            //        MessageBox.Show("Thanh toán phải là số và không được để trống");
            //        return;
            //    }
            //    catch (OverflowException)
            //    {
            //        MessageBox.Show("Thanh toán không được âm");
            //        return;
            //    }
            //    HienThiDanhSachHoaDon();
            //    txtThanhToan.Text = "";
            //}
            //else
            //{
            HoaDon_DTO tam = new HoaDon_DTO();

            // lấy mã khách hàng ngay và luôn
            tam.MaHD = int.Parse(txtMaHoaDon.Text);

            UInt64 DaThanhToan = UInt64.Parse(txtDaThanhToan.Text);
            UInt64 ConLai      = UInt64.Parse(txtConLai.Text);
            UInt64 ThanhToan;

            try
            {
                ThanhToan     = UInt64.Parse(txtThanhToan.Text);
                tam.ThanhToan = ThanhToan;
            }

            //try
            //{
            //    ThanhToan = UInt64.Parse(txtThanhToan.Text);

            //}
            catch (FormatException)
            {
                MessageBox.Show("Số tiền thanh toán phải là số và không được để trống");
                return;
            }
            UInt64 tongTien = UInt64.Parse(txtTongTien.Text);

            if (ThanhToan > ConLai)
            {
                tam.ThanhToan       = tongTien;
                tam.ConLai          = 0;
                txtDaThanhToan.Text = tongTien.ToString();
                txtConLai.Text      = "0";
                UInt64 Tientrakhach = ThanhToan - ConLai;
                txtTienTraKhach.Text = Tientrakhach.ToString();
                txtMaHDtra.Text      = txtMaHoaDon.Text;
                //MessageBox.Show("Thanh toán không được lớn hơn số tiền còn lại");
                HoaDon_BUS.UpdateThanhToan(tam);
                HoaDon_BUS.UpdateConLai(tam);

                // update tien no cua khach hang
                KhachHang_DTO kh2 = new KhachHang_DTO();
                kh2.MaKhachHang = int.Parse(txtMaKhachHang.Text);

                DataTable dt3     = ThamSo_BUS.SelectTienNoKH(int.Parse(txtMaKhachHangCT.Text));
                UInt64    tienNo2 = UInt64.Parse(dt3.Rows[0].ItemArray[5].ToString());

                kh2.SoTienNo = tienNo2 - ConLai;
                //string ketQua = KhachHang_BUS.UpdateTienNo(kh);
                //txtThu.Text = kh2.SoTienNo.ToString();
                string ketQua2 = KhachHang_BUS.UpdateTienNo(kh2);
                if (ketQua2 != "Success")
                {
                    MessageBox.Show(ketQua2);
                    return;
                }
                HienThiDanhSachHoaDon();
                txtThanhToan.Text = "";
                return;
            }

            // thanh toán tiếp thì Tiền còn lại = Tiền còn lại - Tiền thánh toán thêm
            ConLai              = ConLai - ThanhToan;
            DaThanhToan         = DaThanhToan + ThanhToan;
            tam.ThanhToan       = DaThanhToan;
            tam.ConLai          = ConLai;
            txtDaThanhToan.Text = DaThanhToan.ToString();
            txtConLai.Text      = ConLai.ToString();

            // update tien no cua khach hang
            KhachHang_DTO kh = new KhachHang_DTO();

            kh.MaKhachHang = int.Parse(txtMaKhachHang.Text);

            DataTable dt2    = ThamSo_BUS.SelectTienNoKH(int.Parse(txtMaKhachHangCT.Text));
            UInt64    tienNo = UInt64.Parse(dt2.Rows[0].ItemArray[5].ToString());

            kh.SoTienNo = tienNo - ThanhToan;
            //string ketQua = KhachHang_BUS.UpdateTienNo(kh);
            //txtThu.Text = kh.SoTienNo.ToString();
            string ketQua = KhachHang_BUS.UpdateTienNo(kh);

            if (ketQua != "Success")
            {
                MessageBox.Show(ketQua);
                return;
            }

            //Cập nhật lại bảng
            HoaDon_BUS.UpdateThanhToan(tam);
            HoaDon_BUS.UpdateConLai(tam);
            HienThiDanhSachHoaDon();
            txtThanhToan.Text = "";
            //}
        }
Example #6
0
        private void btnBoSung_Click(object sender, EventArgs e)
        {
            // kiểm tra xem khách hàng đã thanh toán sách này chưa, nếu chưa mới cho phép thêm sách
            if (int.Parse(txtDaThanhToan.Text) != 0)
            {
                MessageBox.Show("Hóa đơn này đã thanh toán một phần tiền! \nBạn không được thêm sách!");
                return;
            }

            DataTable dt                = ThamSo_BUS.GetThamSoAll();
            int       noToiDa           = int.Parse(dt.Rows[0].ItemArray[4].ToString());
            int       luongTonSauKhiBan = int.Parse(dt.Rows[0].ItemArray[2].ToString());
            DataTable dt2               = ThamSo_BUS.SelectTienNoKH(int.Parse(txtMaKhachHang.Text));
            int       tienNo            = int.Parse(dt2.Rows[0].ItemArray[5].ToString());

            CT_HoaDon_DTO ct = new CT_HoaDon_DTO();

            try
            {
                ct.MaHD = int.Parse(txtMaHoaDonCT.Text);
            }
            catch (FormatException)
            {
                MessageBox.Show("Mã hóa đơn không được để trống");
                return;
            }
            try
            {
                ct.MaSach = int.Parse(txtMaSach.Text);
            }
            catch (FormatException)
            {
                MessageBox.Show("Mã sách phải được chọn từ danh sách");
                btnMaSach_Click(sender, e);
                return;
            }
            try
            {
                ct.SoLuong = uint.Parse(txtSoLuong.Text);
            }
            catch (FormatException)
            {
                MessageBox.Show("Số lượng mua phải là số và không được để trống");
                return;
            }
            catch (OverflowException)
            {
                MessageBox.Show("Số lượng không được âm");
                return;
            }
            if (tienNo <= noToiDa)
            {
                DataTable dt3      = ThamSo_BUS.SelectSoLuongTon(ct.MaSach);
                uint      luongTon = uint.Parse(dt3.Rows[0].ItemArray[4].ToString());
                uint      luongMua = 0;
                try
                {
                    luongMua = uint.Parse(txtSoLuong.Text);
                }
                catch (FormatException)
                {
                    MessageBox.Show("Số lượng mua phải là số và không được để trống");
                    txtSoLuong.Text   = "";
                    txtThanhTien.Text = "";
                    return;
                }
                catch (OverflowException)
                {
                    MessageBox.Show("Số lượng không được âm");
                    return;
                }
                ct.DonGia         = UInt64.Parse(txtDonGia.Text);
                ct.ThanhTien      = (UInt64)luongMua * ct.DonGia;
                txtThanhTien.Text = ct.ThanhTien.ToString();
                if ((luongTon - luongMua) < luongTonSauKhiBan)
                {
                    MessageBox.Show("Số lượng tồn của sách này sau khi bán đã nhỏ hơn quy định");
                    return;
                }
                string ketQua = HoaDon_BUS.ThemHoaDonChiTiet(ct);
                if (ketQua != "Success")
                {
                    MessageBox.Show(ketQua);
                    txtMaSach.Text  = "";
                    txtSoLuong.Text = "0";
                    txtDonGia.Text  = "";
                    return;
                }
                else
                {
                    uint     soluongtonnew = luongTon - luongMua;
                    Sach_DTO s             = new Sach_DTO();
                    s.MaSach     = int.Parse(txtMaSach.Text);
                    s.SoLuongTon = (int)soluongtonnew;
                    ketQua       = Sach_BUS.UpdateSoLuongTon(s);
                    if (ketQua != "Success")
                    {
                        MessageBox.Show(ketQua);
                        return;
                    }

                    HoaDon_DTO hd = new HoaDon_DTO();
                    hd.MaHD      = ct.MaHD;
                    hd.TongTien  = UInt64.Parse(HoaDon_BUS.TongThanhTien(hd).Rows[0].ItemArray[0].ToString());
                    hd.ThanhToan = 0;
                    hd.ConLai    = UInt64.Parse(HoaDon_BUS.TongThanhTien(hd).Rows[0].ItemArray[0].ToString());
                    HoaDon_BUS.UpdateTongTien(hd);
                    HoaDon_BUS.UpdateConLai(hd);

                    KhachHang_DTO kh = new KhachHang_DTO();
                    kh.MaKhachHang = int.Parse(txtMaKhachHang.Text);
                    kh.SoTienNo    = UInt64.Parse(tienNo.ToString()) + ct.ThanhTien;
                    string ketQua2 = KhachHang_BUS.UpdateTienNo(kh);
                    if (ketQua2 != "Success")
                    {
                        MessageBox.Show(ketQua);
                        return;
                    }
                    MessageBox.Show("Thành công");
                    HienThiDanhSachChiTietHoaDon();
                }
            }
            else
            {
                MessageBox.Show("Tiền nợ quý khách đã quá quy định để mua sách");
            }
        }
 public void HienThiDanhSachChiTietHoaDon()
 {
     dgvChiTietHoaDon.DataSource = HoaDon_BUS.SelectHoaDonCTByMa(layMaHD);
 }
        private void btnThanhToan_Click(object sender, EventArgs e)
        {
            try
            {
                UInt64 thanhToan = 0;
                try
                {
                    thanhToan = UInt64.Parse(txtThanhToan.Text);
                }
                catch (FormatException)
                {
                    MessageBox.Show("Số tiền thanh toán phải là số và không được để trống");
                    return;
                }
                UInt64 tongTien = UInt64.Parse(txtTongTien.Text);
                if (thanhToan > tongTien)
                {
                    MessageBox.Show("Thanh toán không được lớn hơn tổng tiền");
                    return;
                }
                UInt64 conLai = tongTien - thanhToan;
                txtConLai.Text = conLai.ToString();


                DataTable dt      = ThamSo_BUS.GetThamSoAll();
                UInt64    noToiDa = UInt64.Parse(dt.Rows[0].ItemArray[5].ToString());
                DataTable dt2     = ThamSo_BUS.SelectTienNoKH(int.Parse(txtMaKhachHangCT.Text));
                UInt64    tienNo  = UInt64.Parse(dt2.Rows[0].ItemArray[5].ToString());
                if ((conLai + tienNo) > noToiDa)
                {
                    string ketQua = HoaDon_BUS.XoaCTHoaDonByMa(int.Parse(txtMaHoaDon.Text));
                    if (ketQua != "Success")
                    {
                        MessageBox.Show(ketQua);
                        return;
                    }
                    ketQua = HoaDon_BUS.XoaHoaDonByMa(int.Parse(txtMaHoaDon.Text));
                    if (ketQua != "Success")
                    {
                        MessageBox.Show(ketQua);
                        return;
                    }
                    return;
                }
                else
                {
                    KhachHang_DTO kh = new KhachHang_DTO();
                    kh.MaKhachHang = int.Parse(txtMaKhachHang.Text);
                    kh.SoTienNo    = conLai + tienNo;
                    string ketQua = KhachHang_BUS.UpdateTienNo(kh);
                    if (ketQua != "Success")
                    {
                        MessageBox.Show(ketQua);
                        return;
                    }
                    MessageBox.Show("Thanh toán thành công");
                    Close();
                }
            }
            catch (FormatException)
            {
                MessageBox.Show("Thanh toán phải là số và không được để trống");
                return;
            }
            catch (OverflowException)
            {
                MessageBox.Show("Thanh toán không được âm");
                return;
            }
        }
Example #9
0
 private void btnThanhToan_Click(object sender, EventArgs e)
 {
     if (KhachHang_BUS.searchKHWithMaKH(txtMaKH.Text) == null)
     {
         MessageBox.Show("Vui lòng nhập mã khách hàng");
     }
     else
     {
         soLine = lvwHangHoa.Items.Count;
         new frmThanhToan().Show();
         HoaDon hoadon = new HoaDon(HoaDon_BUS.createMaHD(), frmMain.nhanvien.MaNV1, makhachhang, DateTime.Now, "", 1, tong);
         HoaDon_BUS.ThemHD(hoadon);
         // Them san pham vao hoa don:
         LinkedListNode <SanPham> p = listSPInHoaDon.First;
         LinkedListNode <int>     q = ListsoLuong.First;
         for (int i = 0; p != null || q != null; i++, p = p.Next, q = q.Next)
         {
             string         MaSP = p.Value.MaSP;
             string         MaHD = hoadon.MaHD1;
             int            s    = q.Value;
             HoaDon_SanPham sp   = new HoaDon_SanPham(MaSP, MaHD, s);
             HoaDon_SanPham_BUS.ThemSanPhamVaoHD(sp);
         }
         // Thêm khách hàng đó 1 hóa đơn:
         #region
         KhachHang khachhang = KhachHang_BUS.searchKHWithMaKH(txtMaKH.Text);
         khachhang.TongDonDaDat1++;
         khachhang.SoTienDaChi1 += tong;
         int diem = (int)tong / 10;
         khachhang.Diem1 += diem;
         if (khachhang.Diem1 > 500)
         {
             khachhang.LoaiKH1 = "VIP";
         }
         else if (khachhang.Diem1 > 400)
         {
             khachhang.LoaiKH1 = "Bạch kim";
         }
         else if (khachhang.Diem1 > 300)
         {
             khachhang.LoaiKH1 = "Vàng";
         }
         else if (khachhang.Diem1 > 200)
         {
             khachhang.LoaiKH1 = "Bạc";
         }
         else
         {
             khachhang.LoaiKH1 = "Đồng";
         }
         KhachHang_BUS.UpdateKhachHangCoHoaDon(khachhang);
         #endregion
         // Thêm nhân viên vào 1 hóa đơn:
         NhanVien nhanvien = frmMain.nhanvien;
         nhanvien.SoHoaDonDaLap1++;
         NhanVien_BUS.UpdateNhanVienHoaDon(nhanvien);
         // thêm sản phẩm vào mục bán được:
         LinkedListNode <int> sl = ListsoLuong.First;
         for (LinkedListNode <SanPham> s = listSPInHoaDon.First; s != null; s = s.Next, sl = sl.Next)
         {
             s.Value.SoLuongBanRa += sl.Value;
             s.Value.SoLuong      += -s.Value.SoLuongBanRa;
             SanPham_BUS.UpdateSanPhamHoaDon(s.Value);
         }
         sohoadon++;
         doanhthu += tong;
         lvwHangHoa.Items.Clear();
         lvwHangHoa.Columns.Clear();
         frmNhanVien_Load(sender, e);
         pictureBox1.Image    = Image.FromFile("trang.png");
         lblTongTienHang.Text = "0";
     }
 }