public frmXuatNguyenLieu(NhanVien nhanVien = null)
 {
     InitializeComponent();
     nhanVienSelected = nhanVien;
     if (nhanVienSelected == null)
     {
         nhanVienSelected = new NhanVien();
     }
     chiTietPhieuXuats = new List <ChiTietPhieuXuat>();
     chiTietPhieuNhaps = CChiTietPhieuNhapNguyenLieu_BUS.toList();
     HienthiNguyenLieu(chiTietPhieuNhaps);
     taoMaPhieuXuat();
 }
        private void hienThiThongTin(PhieuNhapNguyenLieu phieuNhap)
        {
            dateNgayNhap.SelectedDate = DateTime.Now;
            if (phieuNhap.NhanVien == null)
            {
                txtMaNhanVien.Text  = nhanVienSelect.maNhanVien;
                txtTenNhanVien.Text = nhanVienSelect.hoNhanVien + " " + nhanVienSelect.tenNhanVien;
            }
            else
            {
                txtMaNhanVien.Text  = phieuNhap.NhanVien.maNhanVien;
                txtTenNhanVien.Text = phieuNhap.NhanVien.hoNhanVien + " " + phieuNhap.NhanVien.tenNhanVien;
            }
            cmbTenNguyenLieu.ItemsSource = CNguyenLieu_BUS.toListTen();

            chiTietPhieuNhaps = CChiTietPhieuNhapNguyenLieu_BUS.toList(phieuNhap.maPhieuNhap);

            txtTongThanhTien.Text = String.Format("{0:#,###,0 VND;(#,###,0 VND);0 VND}", phieuNhap.tongThanhTien);

            hienThiDSChiTietPhieuNhap(chiTietPhieuNhaps);
        }
        private void btnXuatNguyenLieu_Click(object sender, RoutedEventArgs e)
        {
            if (chiTietPhieuXuats.Count() == 0)
            {
                MessageBox.Show("Hóa Đơn chưa có chi tiết Phiếu Xuất");
                return;
            }
            if (CPhieuXuatNguyenLieu_BUS.find(txtMaPhieuXuat.Text) == null)
            {
                try
                {
                    PhieuXuatNguyenLieu phieuXuat = new PhieuXuatNguyenLieu();
                    phieuXuat.maPhieuXuat   = txtMaPhieuXuat.Text;
                    phieuXuat.ngayXuat      = DateTime.Now;
                    phieuXuat.tongThanhTien = double.Parse(txtBoxTongtien.Text);
                    phieuXuat.maNhanVien    = nhanVienSelected.maNhanVien;
                    phieuXuat.trangThai     = 0;

                    foreach (var item in chiTietPhieuXuats)
                    {
                        ChiTietPhieuXuat ctPX = new ChiTietPhieuXuat();
                        ctPX.maChiTietPhieuXuat  = item.maChiTietPhieuXuat;
                        ctPX.maChitietNguyenLieu = item.maChitietNguyenLieu;
                        ctPX.soLuong             = item.soLuong;
                        ctPX.donGia      = item.donGia;
                        ctPX.thanhTien   = item.thanhTien;
                        ctPX.maPhieuXuat = phieuXuat.maPhieuXuat;
                        phieuXuat.ChiTietPhieuXuats.Add(ctPX);
                    }

                    dc.PhieuXuatNguyenLieux.Add(phieuXuat);
                    dc.SaveChanges();
                    MessageBox.Show("Xuất Nguyên Liệu Thành Công");
                    txtMaPhieuXuat.Text = CServices.taoMa <PhieuXuatNguyenLieu>(CPhieuXuatNguyenLieu_BUS.toList());
                    CChiTietPhieuXuat_BUS.CapNhapSoLuong_CTNguyenLieu(chiTietPhieuXuats);
                    //CChiTietPhieuNhapNguyenLieu_BUS.CapNhapSoLuong_CTPhieuNhap(chiTietPhieuXuats);

                    chiTietPhieuXuats.Clear();
                    hienThiDSChiTietPX(chiTietPhieuXuats);
                    chiTietPhieuNhaps = CChiTietPhieuNhapNguyenLieu_BUS.toList();
                    HienthiNguyenLieu(chiTietPhieuNhaps);
                    chiTietPhieuNhapselect = null;
                    i = 0;
                }
                catch (DbEntityValidationException)
                {
                    MessageBox.Show("Lỗi kiểu dữ liệu");
                }
                catch (DbUpdateException)
                {
                    MessageBox.Show("Không cập được dữ liệu");
                }
                catch (ArgumentNullException)
                {
                    MessageBox.Show("Không được để rỗng đơn giá");
                }
                catch (FormatException)
                {
                    MessageBox.Show("Đơn giá phải là số");
                }
                catch (OverflowException)
                {
                    MessageBox.Show("Đơn giá vượt quá giới hạn lưu trữ");
                }
            }
            else
            {
                MessageBox.Show("Mã Phiếu Xuất đã tồn tại");
            }
        }