public List <ChiTietPhieuMuaHangDTO> GetChiTietPhieuMuaHang(string soPhieuMuaHang)
        {
            List <ChiTietPhieuMuaHangDTO> list = new List <ChiTietPhieuMuaHangDTO>();

            string query = string.Format("SELECT * FROM CT_PMH WHERE SoPhieuMuaHang = N'{0}'", soPhieuMuaHang);

            DataTable data = DataProvider.Instance.ExecuteQuery(query);

            foreach (DataRow item in data.Rows)
            {
                ChiTietPhieuMuaHangDTO LoaiSP = new ChiTietPhieuMuaHangDTO(item);
                list.Add(LoaiSP);
            }

            return(list);
        }
 public static bool XoaChiTietPhieuMuaHang(ChiTietPhieuMuaHangDTO ctpmh)
 {
     ChiTietPhieuMuaHangDAO.Delete(ctpmh);
     return true;
 }
 public static bool ThemChiTietPhieuMuaHang(ChiTietPhieuMuaHangDTO ctpmh)
 {
     ChiTietPhieuMuaHangDAO.Insert(ctpmh);
     return true;
 }
 public static void Insert(ChiTietPhieuMuaHangDTO ctpmh)
 {
     string sql = "insert into CHITIETPHIEUMUAHANG(MaPhieuMuaHang, MaSanPham, SoLuongMua, DonGiaMua, ThanhTien) values(" + ctpmh.MaPhieuMuaHang + "," + ctpmh.MaSanPham + "," + ctpmh.SoLuongMua + "," + ctpmh.DonGiaMua + "," + ctpmh.ThanhTien + ")";
     DataBase.ExcuNonQuery(sql);
 }
 public static void Delete(ChiTietPhieuMuaHangDTO ctpmh)
 {
     string sql = "delete from CHITIETPHIEUMUAHANG where MaChiTietPhieuMuaHang = " + ctpmh.MaChiTietPhieuMuaHang + "";
     DataBase.ExcuNonQuery(sql);
 }
 private void btn_LapPhieu_Click(object sender, EventArgs e)
 {
     bool ktra_lapphieumuahang = false;
     PhieuMuaHangDTO pmh = new PhieuMuaHangDTO();
     ChiTietPhieuMuaHangDTO ctpmh = new ChiTietPhieuMuaHangDTO();
     pmh.NgayMua = dateTimePicker_NgayMua.Value;
     pmh.NgayThanhToan = dateTimePicker_NgayThanhToan.Value;
     pmh.TongCong = uint.Parse(txt_TongCong.Text);
     try
     {
         pmh.MaKhachHang = uint.Parse(txt_MaKhachHang.Text);
     }
     catch
     {
         MessageBox.Show("Mã khách hàng không hợp lệ, vui lòng kiểm tra lại!!");
         return;
     }
     if (PhieuMuaHangBUS.ThemPhieuMuaHang(pmh) == false)
         MessageBox.Show("Thêm thất bại!!");
     else
     {
         DataTable dt = PhieuMuaHangDAO.GetAllPhieuMuaHang();
         pmh.MaPhieuMuaHang = Convert.ToUInt32(dt.Rows[dt.Rows.Count - 1]["MaPhieuMuaHang"]);
         ctpmh.MaPhieuMuaHang = pmh.MaPhieuMuaHang;
         for (int i = 0; i < dgv_ChiTietPhieuMuaHang.Rows.Count - 1; i++)
         {
             try
             {
                 ctpmh.MaSanPham = Convert.ToUInt32(dgv_ChiTietPhieuMuaHang.Rows[i].Cells[1].Value);
             }
             catch
             {
                 MessageBox.Show("Mã sản phẩm trong danh sách không hợp lệ, vui lòng kiểm tra lại!");
                 return;
             }
             try
             {
                 ctpmh.SoLuongMua = Convert.ToUInt32(dgv_ChiTietPhieuMuaHang.Rows[i].Cells[5].Value);
             }
             catch
             {
                 MessageBox.Show("Số lượng bán trong danh sách không hợp lệ, vui lòng kiểm tra lại!");
                 return;
             }
             try
             {
                 ctpmh.DonGiaMua = Convert.ToUInt32(dgv_ChiTietPhieuMuaHang.Rows[i].Cells[6].Value);
             }
             catch
             {
                 MessageBox.Show("Đơn giá trong danh sách không hợp lệ, vui lòng kiểm tra lại!");
                 return;
             }
             ctpmh.ThanhTien = Convert.ToUInt32(dgv_ChiTietPhieuMuaHang.Rows[i].Cells[7].Value);
             if (ChiTietPhieuMuaHangBUS.ThemChiTietPhieuMuaHang(ctpmh) == false)
             {
                 MessageBox.Show("Thêm thất bại");
             }
             else
             {
                 // Cập nhật số lượng tồn trong bảng SANPHAM
                 ktra_lapphieumuahang = true;
                 uint soluongtontruockhimua = Convert.ToUInt32(dgv_ChiTietPhieuMuaHang.Rows[i].Cells[4].Value);
                 uint soluongmua = Convert.ToUInt32(dgv_ChiTietPhieuMuaHang.Rows[i].Cells[5].Value);
                 SanPhamDTO sp = new SanPhamDTO();
                 sp.MaSanPham = Convert.ToUInt32(dgv_ChiTietPhieuMuaHang.Rows[i].Cells[1].Value);
                 sp.SoLuongTon = soluongtontruockhimua + soluongmua;
                 SanPhamDAO.UpdateSoLuongTon(sp);
             }
         }
     }
     if (ktra_lapphieumuahang)
     {
         txt_MaPhieu.Text = pmh.MaPhieuMuaHang.ToString();
         txt_MaKhachHang.ReadOnly = true;
         dgv_ChiTietPhieuMuaHang.ReadOnly = true;
         btn_LapPhieu.Enabled = false;
         btn_XoaPhieu.Enabled = true;
         MessageBox.Show("Lập phiếu mua hàng thành công!!");
     }
 }
 private void btn_XoaPhieu_Click(object sender, EventArgs e)
 {
     DataTable dt = PhieuMuaHangDAO.GetAllPhieuMuaHang();
     PhieuMuaHangDTO pmh = new PhieuMuaHangDTO();
     pmh.MaPhieuMuaHang = Convert.ToUInt32(dt.Rows[dt.Rows.Count - 1]["MaPhieuMuaHang"]);
     if (PhieuMuaHangBUS.XoaPhieuMuaHang(pmh) == false)
         MessageBox.Show("Xóa thất bại!!");
     else
     {
         ChiTietPhieuMuaHangDTO ctpmh = new ChiTietPhieuMuaHangDTO();
         ctpmh.MaPhieuMuaHang = pmh.MaPhieuMuaHang;
         if (ChiTietPhieuMuaHangBUS.XoaChiTietPhieuMuaHang(ctpmh) == false)
             MessageBox.Show("Xóa thất bại!!");
         else
         {
             btn_XoaPhieu.Enabled = false;
             SanPhamDTO sp = new SanPhamDTO();
             for (int i = 0; i < dgv_ChiTietPhieuMuaHang.Rows.Count - 1; i++)
             {
                 // Cập nhật số lượng tồn trong bảng SANPHAM
                 sp.MaSanPham = Convert.ToUInt32(dgv_ChiTietPhieuMuaHang.Rows[i].Cells[1].Value);
                 sp.SoLuongTon = Convert.ToUInt32(dgv_ChiTietPhieuMuaHang.Rows[i].Cells[4].Value);
                 SanPhamDAO.UpdateSoLuongTon(sp);
                 btn_XoaPhieu.Enabled = false;
             }
             TaoPhieuMuaHangMoi();
             MessageBox.Show("Xóa phiếu mua hàng thành công!!");
         }
     }
 }