public static bool remove(string maChiTietNguyenLieu)
        {
            ChiTietNguyenLieu chiTietNguyenLieu = findCT(maChiTietNguyenLieu);

            if (chiTietNguyenLieu.ChiTietPhieuNhaps.Count() > 0 ||
                chiTietNguyenLieu.ChiTietPhieuXuats.Count() > 0)
            {
                MessageBox.Show("Không thể xóa chi tiết nguyên liệu này");
                return(false);
            }
            try
            {
                quanLyQuanCoffee.ChiTietNguyenLieux.Remove(chiTietNguyenLieu);
                quanLyQuanCoffee.SaveChanges();
            }
            catch (DbUpdateException)
            {
                MessageBox.Show("Lỗi! Không thể xóa chi tiết nguyên liệu");
                return(false);
            }
            catch (DbEntityValidationException)
            {
                MessageBox.Show("Lỗi! Kiểu dữ liệu không hợp lệ");
                return(false);
            }
            return(true);
        }
        public static ChiTietNguyenLieu findChiTietNguyenLieu(string maChiTietNguyenLieu)
        {
            ChiTietNguyenLieu chiTiet = new ChiTietNguyenLieu();

            chiTiet = quanLyQuanCoffee.ChiTietNguyenLieux.Where(x => x.maChiTietNguyenLieu == maChiTietNguyenLieu).FirstOrDefault();
            return(chiTiet);
        }
        //private static bool rollback(List<ChiTietPhieuNhap> list)
        //{
        //    foreach (var item in list)
        //    {
        //        if (!CChiTietNguyenLieu_BUS.remove(item.maChitietNguyenLieu))
        //        {
        //            MessageBox.Show("Lỗi rollback, xóa chi tiết nguyên liệu");
        //            return false;
        //        }
        //    }
        //    foreach (var item in list)
        //    {
        //        if (!CChiTietPhieuNhapNguyenLieu_BUS.remove(item.maChiTietPhieuNhap))
        //        {
        //            MessageBox.Show("Lỗi rollback, xóa chi tiết phiêu nhập");
        //            return false;
        //        }
        //    }
        //    if (CPhieuNhapNguyenLieu_BUS.remove(list[0].maPhieuNhap))
        //    {
        //        MessageBox.Show("Lỗi rollback, xóa phiếu nhập");
        //        return false;
        //    }

        //    return true;
        //}

        private void btnSua_Click(object sender, RoutedEventArgs e)
        {
            if (ChiTietPhieuNhapSelect != null)
            {
                try
                {
                    string     tenNguyenLieu = cmbTenNguyenLieu.SelectedItem.ToString();
                    NguyenLieu nguyenLieu    = CNguyenLieu_BUS.findNguyenLieuByTen(tenNguyenLieu);

                    ChiTietPhieuNhap chiTietPhieuNhap = chiTietPhieuNhaps.ElementAt(dgDSChiTietPhieuNhap.SelectedIndex);
                    chiTietPhieuNhap.maChiTietPhieuNhap = ChiTietPhieuNhapSelect.maChiTietPhieuNhap;

                    string maCTNL = ChiTietPhieuNhapSelect.maChitietNguyenLieu;
                    chiTietPhieuNhap.maChitietNguyenLieu = txtMaChiTietNguyenLieu.Text + maCTNL.Substring(maCTNL.Length - 10);
                    chiTietPhieuNhap.soLuong             = int.Parse(txtSoLuong.Text);
                    chiTietPhieuNhap.donGia      = double.Parse(txtDonGia.Text);
                    chiTietPhieuNhap.thanhTien   = double.Parse(txtThanhTien.Text);
                    chiTietPhieuNhap.maPhieuNhap = txtMaPhieuNhap.Text;

                    ChiTietNguyenLieu chiTietNguyenLieu = new ChiTietNguyenLieu();
                    chiTietNguyenLieu.maChiTietNguyenLieu = chiTietPhieuNhap.maChitietNguyenLieu;
                    chiTietNguyenLieu.maNguyenLieu        = nguyenLieu.maNguyenLieu;
                    chiTietNguyenLieu.ngayHetHan          = dateNgayHetHan.SelectedDate.Value;
                    chiTietNguyenLieu.soLuong             = chiTietPhieuNhap.soLuong;
                    chiTietNguyenLieu.donViTinh           = cmbDonViTinh.Text;

                    chiTietPhieuNhap.ChiTietNguyenLieu = chiTietNguyenLieu;

                    ChiTietPhieuNhapSelect = chiTietPhieuNhap;
                    txtTongThanhTien.Text  = tinhTongThanhTien(chiTietPhieuNhaps).ToString();
                    hienThiDSChiTietPhieuNhap(chiTietPhieuNhaps);
                    hienThiDefault();
                }
                catch (InvalidOperationException)
                {
                    MessageBox.Show("Dữ liệu không được để rỗng");
                }
                catch (ArgumentNullException)
                {
                    MessageBox.Show("Dữ liệu không được để rỗng");
                }
                catch (FormatException)
                {
                    MessageBox.Show("Dữ liệu phải là số");
                }
                catch (OverflowException)
                {
                    MessageBox.Show("Dữ liệu có độ lớn vượt quá giới hạn cho phép");
                }
                btnSua.IsEnabled = false;
                btnXoa.IsEnabled = false;
            }
        }
Example #4
0
 public static bool kiemTraThongTin(ChiTietNguyenLieu chiTietNguyenLieu)
 {
     if (chiTietNguyenLieu.maChiTietNguyenLieu.Length != 23)
     {
         MessageBox.Show("Mã chi tiết nguyên liệu phải là 13 ký tự số");
         return(false);
     }
     if (chiTietNguyenLieu.ngayHetHan < DateTime.Now)
     {
         MessageBox.Show("Ngày hết hạn phải lơn hơn hoặc bằng ngày hiện tại");
         return(false);
     }
     if (chiTietNguyenLieu.soLuong < 0)
     {
         MessageBox.Show("Số lượng phải lớn hơn hoặc bằng 0");
         return(false);
     }
     return(true);
 }
 private void hienThiThongTin(ChiTietPhieuNhap chiTietPhieuNhap)
 {
     if (chiTietPhieuNhap.ChiTietNguyenLieu == null)
     {
         ChiTietNguyenLieu chiTietNguyenLieu = CChiTietNguyenLieu_BUS.findCT(chiTietPhieuNhap.maChitietNguyenLieu);
         cmbTenNguyenLieu.SelectedItem = chiTietNguyenLieu.maNguyenLieu;
         dateNgayHetHan.SelectedDate   = chiTietNguyenLieu.ngayHetHan;
         cmbDonViTinh.SelectedItem     = chiTietNguyenLieu.donViTinh.Trim();
     }
     else
     {
         cmbTenNguyenLieu.SelectedItem = CNguyenLieu_BUS.findTenNguyenLieu(chiTietPhieuNhap.ChiTietNguyenLieu.maNguyenLieu);
         dateNgayHetHan.SelectedDate   = chiTietPhieuNhap.ChiTietNguyenLieu.ngayHetHan;
         cmbDonViTinh.SelectedItem     = chiTietPhieuNhap.ChiTietNguyenLieu.donViTinh.Trim();
     }
     txtMaChiTietNguyenLieu.Text = chiTietPhieuNhap.maChitietNguyenLieu.Substring(10);
     txtSoLuong.Text             = chiTietPhieuNhap.soLuong.ToString();
     txtDonGia.Text    = chiTietPhieuNhap.donGia.ToString();
     txtThanhTien.Text = chiTietPhieuNhap.thanhTien.ToString();
 }
 public static bool add(ChiTietNguyenLieu chiTiet)
 {
     if (CServices.kiemTraThongTin(chiTiet))
     {
         try
         {
             quanLyQuanCoffee.ChiTietNguyenLieux.Add(chiTiet);
             quanLyQuanCoffee.SaveChanges();
             return(true);
         }
         catch (DbUpdateException)
         {
             MessageBox.Show("Lỗi! Không thể thêm dữ liệu");
             return(false);
         }
         catch (DbEntityValidationException)
         {
             MessageBox.Show("Lỗi! Kiểu dữ liệu được truyền vào không hợp lệ");
             return(false);
         }
     }
     return(false);
 }
        public static ChiTietNguyenLieu findCT(string maChiTietNguyenLieu)
        {
            ChiTietNguyenLieu chiTietNguyenLieu = quanLyQuanCoffee.ChiTietNguyenLieux.Find(maChiTietNguyenLieu);

            return(chiTietNguyenLieu == null ? new ChiTietNguyenLieu() : chiTietNguyenLieu);
        }
        private void btnThem_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (dateNgayNhap.SelectedDate.Value != null &&
                    dateNgayHetHan.SelectedDate.Value != null &&
                    cmbTenNguyenLieu.SelectedItem.ToString() != null)
                {
                    string     tenNguyenLieu = cmbTenNguyenLieu.SelectedItem.ToString();
                    NguyenLieu nguyenLieu    = CNguyenLieu_BUS.findNguyenLieuByTen(tenNguyenLieu);
                    if (nguyenLieu != null)
                    {
                        ChiTietPhieuNhap chiTiet = new ChiTietPhieuNhap();

                        // tạo mã chi tiết phiếu nhập
                        if (list1.Count() == 0)
                        {
                            chiTiet.maChiTietPhieuNhap = CServices.taoMa <ChiTietPhieuNhap>(chiTietPhieuNhaps);
                        }
                        else
                        {
                            chiTiet.maChiTietPhieuNhap = CServices.taoMa <ChiTietPhieuNhap>(list1);
                            list1 = new List <ChiTietPhieuNhap>();
                        }

                        // tạo mã chi tiết nguyên liệu
                        //if (chiTietNguyenLieus.Count() == 0)
                        //{
                        //    List<ChiTietNguyenLieu> temp = new List<ChiTietNguyenLieu>();
                        //    foreach (var item in chiTietPhieuNhaps)
                        //    {
                        //        temp.Add(item.ChiTietNguyenLieu);
                        //    }
                        //    chiTiet.maChitietNguyenLieu = CChiTietNguyenLieu_BUS
                        //        .taoMa(txtMaChiTietNguyenLieu.Text, temp);
                        //}
                        //else
                        //{
                        //    chiTiet.maChitietNguyenLieu = CChiTietNguyenLieu_BUS
                        //        .taoMa(txtMaChiTietNguyenLieu.Text, chiTietNguyenLieus);
                        //    chiTietNguyenLieus = new List<ChiTietNguyenLieu>();
                        //}

                        chiTiet.maChitietNguyenLieu = chiTiet.maChiTietPhieuNhap + txtMaChiTietNguyenLieu.Text;

                        chiTiet.maPhieuNhap = txtMaPhieuNhap.Text;
                        chiTiet.soLuong     = int.Parse(txtSoLuong.Text);
                        chiTiet.donGia      = double.Parse(txtDonGia.Text);
                        chiTiet.thanhTien   = double.Parse(txtThanhTien.Text);

                        ChiTietNguyenLieu chiTietNguyenLieu = new ChiTietNguyenLieu();
                        chiTietNguyenLieu.maChiTietNguyenLieu = chiTiet.maChitietNguyenLieu;
                        chiTietNguyenLieu.maNguyenLieu        = nguyenLieu.maNguyenLieu;
                        chiTietNguyenLieu.ngayHetHan          = dateNgayHetHan.SelectedDate.Value;
                        chiTietNguyenLieu.soLuong             = chiTiet.soLuong;
                        chiTietNguyenLieu.donViTinh           = cmbDonViTinh.Text;

                        chiTiet.ChiTietNguyenLieu = chiTietNguyenLieu;
                        if (CServices.kiemTraThongTin(chiTiet))
                        {
                            chiTietPhieuNhaps.Add(chiTiet);
                            txtTongThanhTien.Text = tinhTongThanhTien(chiTietPhieuNhaps).ToString();

                            hienThiDSChiTietPhieuNhap(chiTietPhieuNhaps);
                            hienThiDefault();
                        }
                    }
                }
            }
            catch (InvalidOperationException)
            {
                MessageBox.Show("Lỗi! Không được để dữ liệu nhập vào là rỗng");
            }
            catch (FormatException)
            {
                MessageBox.Show("Lỗi! Số lượng và Đơn giá phải là số");
            }
            catch (ArgumentNullException)
            {
                MessageBox.Show("Lỗi! Không được để dữ liệu nhập vào là rỗng");
            }
            catch (OverflowException)
            {
                MessageBox.Show("Lỗi! Dữ liệu nhập vào vượt quá giới hạn cho phép");
            }
        }