private void btnThemSP_Click(object sender, EventArgs e)
        {
            int j = 0;

            btnIn.Enabled = true;
            ChiTietPhieuGiaoHangDTO CT = new ChiTietPhieuGiaoHangDTO();

            CT.MaSanPham = txtMaSP.Text;
            if (txtSoLuong.Text == "")
            {
                CT.SoLuong = 0;
            }
            else
            {
                CT.SoLuong = Int32.Parse(txtSoLuong.Text);
            }
            if (PhieuGiaoHangBUS.KiemTra(CT, txtTenSP.Text) != "")
            {
                MessageBox.Show(string.Format("{0}", PhieuGiaoHangBUS.KiemTra(CT, txtTenSP.Text)), "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                // Đưa giá trị vào DataGridView
                if (dgvDanhSach.Rows.Count > 0)
                {
                    foreach (DataGridViewRow row in dgvDanhSach.Rows)
                    {
                        if (txtMaSP.Text == dgvDanhSach.Rows[j].Cells[0].Value.ToString())
                        {
                            dgvDanhSach.Rows[j].Cells[2].Value = (Int32.Parse(dgvDanhSach.Rows[j].Cells[2].Value.ToString()) + Int32.Parse(txtSoLuong.Text)).ToString();
                            break;
                        }
                        else if (j == dgvDanhSach.Rows.Count - 1)
                        {
                            dgvDanhSach.Rows.Add();
                            dgvDanhSach.Rows[i].Cells[0].Value = txtMaSP.Text;
                            dgvDanhSach.Rows[i].Cells[1].Value = txtTenSP.Text;
                            dgvDanhSach.Rows[i].Cells[2].Value = txtSoLuong.Text;
                            i++;
                            break;
                        }
                        j++;
                    }
                }
                else
                {
                    dgvDanhSach.Rows.Add();
                    dgvDanhSach.Rows[i].Cells[0].Value = txtMaSP.Text;
                    dgvDanhSach.Rows[i].Cells[1].Value = txtTenSP.Text;
                    dgvDanhSach.Rows[i].Cells[2].Value = txtSoLuong.Text;
                    i++;
                }
            }
        }
        // Kiểm tra thông tin.
        public static string KiemTra(ChiTietPhieuGiaoHangDTO CT, string TenSP)
        {
            string thongbao = "";

            if (CT.MaSanPham == "")
            {
                thongbao += "-Mã sản phẩm không được để trống.\n";
            }
            if (CT.SoLuong == 0)
            {
                thongbao += "-Số lượng không được để trống.\n";
            }
            if (TenSP == "")
            {
                thongbao += "-Tên sản phẩm không được để trống.\n";
            }
            return(thongbao);
        }
        public static bool ThemCTPG(ChiTietPhieuGiaoHangDTO CT)
        {
            try
            {
                SqlConnection con = DataProvider.Connection();
                SqlCommand    cmd = new SqlCommand("sp_ThemCTPG", con);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@mapg", SqlDbType.VarChar);
                cmd.Parameters.Add("@masp", SqlDbType.VarChar);
                cmd.Parameters.Add("@soluong", SqlDbType.Int);

                cmd.Parameters["@mapg"].Value    = CT.MaPhieuGiao;
                cmd.Parameters["@masp"].Value    = CT.MaSanPham;
                cmd.Parameters["@soluong"].Value = CT.SoLuong;
                cmd.ExecuteNonQuery();
                con.Close();
                return(true);
            }
            catch
            {
                return(false);
            }
        }
 public static bool ThemCTPG(ChiTietPhieuGiaoHangDTO CT)
 {
     return(PhieuGiaoHangDAO.ThemCTPG(CT));
 }
 private void btnIn_Click(object sender, EventArgs e)
 {
     if (PhieuGiaoHangBUS.KiemTraChiTietPhieuGiao(dgvDanhSach.RowCount) == "")
     {
         // Thêm phiếu giao mới.
         PhieuGiaoHangDTO PG = new PhieuGiaoHangDTO();
         PG.MaPhieuGiaoHang      = txtSoPG.Text;
         PG.NgayGiao             = dtkNgayGiao.Value;
         PG.MaDonDatHang         = cboMaDH.SelectedValue.ToString();
         PG.MaPhieuGiaoHangNhaCC = txtMaPGNCC.Text;
         txtMaPGNCC.ReadOnly     = false;
         if (PhieuGiaoHangBUS.ThemPG(PG) == true)
         {
             btnLapPhieuMoi.Enabled = true;
             cboMaDH.Enabled        = true;
             // Thêm chi tiết phiếu giao.
             for (int k = 0; k < dgvDanhSach.Rows.Count; k++)
             {
                 ChiTietPhieuGiaoHangDTO CT = new ChiTietPhieuGiaoHangDTO();
                 CT.MaPhieuGiao = txtSoPG.Text;
                 CT.MaSanPham   = dgvDanhSach.Rows[k].Cells[0].Value.ToString();
                 CT.SoLuong     = int.Parse(dgvDanhSach.Rows[k].Cells[2].Value.ToString());
                 if (PhieuGiaoHangBUS.ThemCTPG(CT) == true)
                 {
                     // Update số lượng tồn.
                     if (PhieuGiaoHangBUS.UpdateSLTsaunhanhang(dgvDanhSach.Rows[k].Cells[0].Value.ToString(), int.Parse(dgvDanhSach.Rows[k].Cells[2].Value.ToString())) == false)
                     {
                         MessageBox.Show("Cập nhật số lượng tồn thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                     }
                 }
                 else
                 {
                     MessageBox.Show("Thêm chi tiết phiếu giao hàng thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 }
             }
             btnIn.Enabled     = false;
             btnThemSP.Enabled = false;
             // Cập nhật trạng thái đơn dặt hàng.
             if (DonDatHangBUS.KiemTraSLHang(cboMaDH.SelectedValue.ToString()) == 0)
             {
                 if (DonDatHangBUS.UpdateTrangThai(cboMaDH.SelectedValue.ToString(), 3) == false)
                 {
                     MessageBox.Show("Cập nhật trạng thái thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 }
             }
             else if (DonDatHangBUS.KiemTraSLHang(cboMaDH.SelectedValue.ToString()) == 1)
             {
                 if (DonDatHangBUS.UpdateTrangThai(cboMaDH.SelectedValue.ToString(), 2) == false)
                 {
                     MessageBox.Show("Cập nhật trạng thái thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 }
             }
             else if (DonDatHangBUS.KiemTraSLHang(cboMaDH.SelectedValue.ToString()) == -1)
             {
                 if (DonDatHangBUS.UpdateTrangThai(cboMaDH.SelectedValue.ToString(), 1) == false)
                 {
                     MessageBox.Show("Cập nhật trạng thái thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 }
             }
             // Xuất ra cystal report
             frmXuatPhieuGiaoHang frm = new frmXuatPhieuGiaoHang(txtSoPG.Text);
             this.Hide();
             frm.ShowDialog();
             this.Show();
         }
         else
         {
             MessageBox.Show("Thêm phiếu giao hàng thất bại.", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
     else
     {
         MessageBox.Show(string.Format("{0}", PhieuGiaoHangBUS.KiemTraChiTietPhieuGiao(dgvDanhSach.RowCount)), "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }