private void dgHoaDonTrongNgay_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            try
            {
                if (dgHoaDonTrongNgay.SelectedItem != null)
                {
                    hoaDonSelect = new HoaDon();
                    string maHoaDon = dgHoaDonTrongNgay.SelectedValue.ToString();
                    hoaDonSelect = CHoaDon_BUS.find(maHoaDon);
                    if (hoaDonSelect != null)
                    {
                        HoaDon hoaDon = CHoaDon_BUS.find(hoaDonSelect.maHoaDon);

                        // Lỗi NullReferenceException vẫn chưa bắt được
                        dgChiTietHoaDonTrongNgay.ItemsSource = hoaDon.ChiTietHoaDons.Select(x => new
                        {
                            maHoaDon   = x.maHoaDon,
                            tenSanPham = x.SanPham.tenSanPham,
                            soLuong    = x.soLuong,
                            donGia     = String.Format("{0:#,###,0 VND;(#,###,0 VND);0 VND}", x.SanPham.donGia),
                            thanhTien  = String.Format("{0:#,###,0 VND;(#,###,0 VND);0 VND}", x.thanhTien)
                        });
                    }
                }
            }
            catch (NullReferenceException)
            {
                MessageBox.Show("Chưa load được dữ liệu");
            }
        }
Exemple #2
0
 private void dgQlhoadon_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (dgQlhoadon.SelectedItem != null)
     {
         hoaDonSelected = CHoaDon_BUS.find(dgQlhoadon.SelectedValue.ToString());
     }
 }
Exemple #3
0
        private void btnTinhtien_Click(object sender, RoutedEventArgs e)
        {
            if (chiTietHoaDons.Count() == 0)
            {
                MessageBox.Show("Hóa Đơn chưa có chi tiết hóa đơn");
                return;
            }

            string maHoaDon = CServices.taoMa <HoaDon>(CHoaDon_BUS.toList());

            if (CHoaDon_BUS.find(maHoaDon) == null)
            {
                try
                {
                    HoaDon hoaDon = new HoaDon();
                    hoaDon.maHoaDon      = maHoaDon;
                    hoaDon.maNhanVien    = nhanVienSelect.maNhanVien;
                    hoaDon.ngayLap       = DateTime.Now;
                    hoaDon.tongThanhTien = tongThanhTien;

                    if (txtTienKhachDua.Text == "" || txtTienKhachDua.Text == null)
                    {
                        MessageBox.Show("Vui lòng nhập tiền khách đưa");
                        return;
                    }
                    else
                    {
                        hoaDon.tienKhachDua = double.Parse(txtTienKhachDua.Text);
                    }

                    if (txtTienThoiLai.Text == "" || txtTienThoiLai.Text == null)
                    {
                        MessageBox.Show("Vui lòng nhập tiền khách đưa để tính tiền thối lại");
                        return;
                    }
                    else
                    {
                        double tienThua = hoaDon.tienKhachDua.Value - hoaDon.tongThanhTien;
                        if (tienThua < 0)
                        {
                            MessageBox.Show("Tiền khách đưa không thể nhỏ hơn tổng thành tiền");
                            return;
                        }
                        else if (tienThua >= 500000)
                        {
                            txtTienThoiLai.Text = "";
                            MessageBox.Show("Xem lại tiền khách đưa");
                            return;
                        }

                        else
                        {
                            hoaDon.tienThua = tienThua;
                        }
                    }

                    hoaDon.trangThai = 0;

                    foreach (var item in chiTietHoaDons)
                    {
                        ChiTietHoaDon a = new ChiTietHoaDon();
                        a.maHoaDon  = hoaDon.maHoaDon;
                        a.maSanPham = item.maSanPham;
                        a.soLuong   = item.soLuong;
                        a.thanhTien = CChiTietHoaDon_BUS.tinhThanhTien(item);
                        hoaDon.ChiTietHoaDons.Add(a);
                    }

                    if (CHoaDon_BUS.add(hoaDon))
                    {
                        MessageBox.Show("Xuất hóa đơn thành công");
                    }
                    else
                    {
                        return;
                    }

                    chiTietHoaDons.Clear();
                    hienThiDSChiTietHD(chiTietHoaDons);

                    tongThanhTien        = 0;
                    txtTongTien.Text     = "";
                    txtTienKhachDua.Text = "";
                    txtTienThoiLai.Text  = "";
                }
                catch (ArgumentNullException)
                {
                    MessageBox.Show("Không được để rỗng đơn giá, tiền khách đưa, tiền thừa");
                }
                catch (FormatException)
                {
                    MessageBox.Show("Đơn giá, tiền khách đưa, tiền thừa, phải là số");
                }
                catch (OverflowException)
                {
                    MessageBox.Show("Đơn giá, tiền khách đưa, tiền thừa, vượt quá giới hạn lưu trữ");
                }
            }
            else
            {
                MessageBox.Show("Mã hóa đơn đã tồn tại");
            }
        }