示例#1
0
        public double tinhTongThanhTien(List <ChiTietHoaDon> chiTietHoaDons)
        {
            double tongThanhTien = 0;

            chiTietHoaDons.ForEach(item => tongThanhTien += CChiTietHoaDon_BUS.tinhThanhTien(item));
            return(tongThanhTien);
        }
示例#2
0
        private void btnTreoHoaDon_Click(object sender, RoutedEventArgs e)
        {
            if (CHoaDon_BUS.hoaDonTreo == null)
            {
                try
                {
                    CHoaDon_BUS.hoaDonTreo               = new HoaDon();
                    CHoaDon_BUS.hoaDonTreo.maNhanVien    = nhanVienSelect.maNhanVien;
                    CHoaDon_BUS.hoaDonTreo.ngayLap       = DateTime.Now;
                    CHoaDon_BUS.hoaDonTreo.tongThanhTien = tongThanhTien;

                    CHoaDon_BUS.hoaDonTreo.trangThai = 0;

                    foreach (var item in chiTietHoaDons)
                    {
                        ChiTietHoaDon a = new ChiTietHoaDon();
                        a.maHoaDon  = CHoaDon_BUS.hoaDonTreo.maHoaDon;
                        a.maSanPham = item.maSanPham;
                        a.SanPham   = CSanPham_BUS.find(item.maSanPham);
                        if (a.SanPham == null)
                        {
                            MessageBox.Show("Lỗi, không thể treo hóa đơn");
                            return;
                        }
                        a.soLuong   = item.soLuong;
                        a.thanhTien = CChiTietHoaDon_BUS.tinhThanhTien(item);
                        CHoaDon_BUS.hoaDonTreo.ChiTietHoaDons.Add(a);
                    }
                    chiTietHoaDons.Clear();
                    hienThiDSChiTietHD(chiTietHoaDons);
                    btnHoanTac.IsEnabled    = true;
                    btnTreoHoaDon.IsEnabled = false;
                }
                catch (ArgumentNullException)
                {
                    MessageBox.Show("Tổng tiền null");
                }
                catch (FormatException)
                {
                    MessageBox.Show("Tổng tiền không thể format");
                }
                catch (OverflowException)
                {
                    MessageBox.Show("Tổng tiền vượt quá giới hạn cho phép");
                }
            }
            else
            {
                MessageBox.Show("Chỉ có thể treo 1 hóa đơn, vui lòng hoàn tác hóa đơn trước");
            }
        }
示例#3
0
 private void hienThiDSChiTietHD(List <ChiTietHoaDon> chiTietHoaDons)
 {
     if (chiTietHoaDons != null)
     {
         dgChitiethoadon.ItemsSource = chiTietHoaDons.Select(x => new
         {
             maHoaDon   = x.maHoaDon,
             maSanPham  = x.maSanPham,
             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}", CChiTietHoaDon_BUS.tinhThanhTien(x))
         }).ToList();
         tongThanhTien    = tinhTongThanhTien(chiTietHoaDons);
         txtTongTien.Text = String.Format("{0:#,###,0 VND;(#,###,0 VND);0 VND}", tongThanhTien);
     }
 }
示例#4
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");
            }
        }