Esempio n. 1
0
        private void btnLuu_Click(object sender, EventArgs e)
        {
            if (TongTien >= TienGiam)
            {
                DiemTichLuyCapNhat = DiemThuong;
            }
            else
            {
                DiemTichLuyCapNhat = Convert.ToInt32(TongTien / 1000) + DiemThuong;
            }
            HoaDon hd = new HoaDon();

            hd.SoHoaDon    = SoMaHoaDon.Text.Trim();
            hd.MaKhachHang = txtMaKhachHang.Text.Trim();
            hd.MaNhanVien  = "NV0001";
            hd.NgayLap     = deNgayLap.DateTime;
            hd.TongTien    = TienThanhToan;
            hd.TienGiam    = TienGiam;
            hd.DiemThuong  = DiemThuong;
            if (HoaDonService.Insert(hd))
            {
                ChiTietHoaDon cthd = new ChiTietHoaDon();
                cthd.SoHoaDon = hd.SoHoaDon;
                for (int i = 0; i < grvHoaDon.RowCount; i++)
                {
                    cthd.MaHangHoa = grvHoaDon.GetRowCellValue(i, "MaHangHoa").ToString();
                    cthd.SoLuong   = Convert.ToInt32(grvHoaDon.GetRowCellValue(i, "SoLuong").ToString());
                    DataRowView row = lueHangHoa.Properties.GetDataSourceRowByKeyValue(cthd.MaHangHoa) as DataRowView;
                    cthd.DonGia    = Convert.ToDecimal(row.Row["GiaBan"].ToString());
                    cthd.ThanhTien = cthd.SoLuong * cthd.DonGia;
                    if (!ChiTietHoaDonService.Insert(cthd))
                    {
                        XtraMessageBox.Show("Lưu thất bại!");
                        if (i > 0)
                        {
                            if (!ChiTietHoaDonService.Delete(hd.SoHoaDon))
                            {
                                XtraMessageBox.Show("Roll back không thành công!");
                                return;
                            }
                        }
                        if (HoaDonService.Delete(hd.SoHoaDon))
                        {
                            XtraMessageBox.Show("Roll back thành công!");
                        }
                        else
                        {
                            XtraMessageBox.Show("Roll back không thành công!");
                        }
                        return;
                    }
                    DataTable dtHH = HangHoaService.GetById(cthd.MaHangHoa);
                    int       SL   = Convert.ToInt32(dtHH.Rows[0][5].ToString());
                    dtHH.Rows[0][5] = SL - cthd.SoLuong;
                    if (!HangHoaService.SaveChanges(dtHH))
                    {
                        XtraMessageBox.Show("Không update được hàng hóa");
                    }
                }
                if (hd.MaKhachHang != "KH0000")
                {
                    DataTable dtKT = KhachHangThanThietService.SearchMaKhachHang(hd.MaKhachHang);
                    dtKT.Rows[0][5] = DiemTichLuyCapNhat;
                    if (!KhachHangThanThietService.SaveChanges(dtKT))
                    {
                        XtraMessageBox.Show("Không update được khách hàng thân thiết");
                    }
                }
                XtraMessageBox.Show("Lưu thành công!");
                isSaved = true;
            }
            else
            {
                XtraMessageBox.Show("Lưu thất bại!");
                isSaved = false;
            }
        }