public double tinhTongThanhTien(List <ChiTietHoaDon> chiTietHoaDons) { double tongThanhTien = 0; chiTietHoaDons.ForEach(item => tongThanhTien += CChiTietHoaDon_BUS.tinhThanhTien(item)); return(tongThanhTien); }
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"); } }
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); } }
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"); } }