public bool ThemCTPhieuNhap(DTOChiTietPhieuNhapVL dtoCTNhap)
        {
            bool ketqua = false;
            ketnoi.TaoKetNoi();
            try
            {
                string lenh = "insert into CT_NhapVLSX(MaPNVLSX, MaVL, Soluonggiao, Soluongthuc) values(@maPhieuNhap, @mavl, @soluonggiao, @soluongthuc)";
                ketnoi.LenhKetNoi = new SqlCommand(lenh, ketnoi.KetNoi);

                ketnoi.LenhKetNoi.Parameters.Add("@maPhieuNhap", SqlDbType.VarChar);
                ketnoi.LenhKetNoi.Parameters.Add("@mavl", SqlDbType.Int);
                ketnoi.LenhKetNoi.Parameters.Add("@soluonggiao", SqlDbType.Int);
                ketnoi.LenhKetNoi.Parameters.Add("@soluongthuc", SqlDbType.Int);

                ketnoi.LenhKetNoi.Parameters["@maPhieuNhap"].Value = dtoCTNhap.dtoPhieuNhapVL.MaPNVLSX;
                ketnoi.LenhKetNoi.Parameters["@mavl"].Value = dtoCTNhap.dtoVatLieu.MaVL;
                ketnoi.LenhKetNoi.Parameters["@soluonggiao"].Value = dtoCTNhap.SoLuongGiao;
                ketnoi.LenhKetNoi.Parameters["@soluongthuc"].Value = dtoCTNhap.SoLuongThuc;

                if (ketnoi.LenhKetNoi.ExecuteNonQuery() != 0)
                    ketqua = true;
            }
            catch (Exception)
            {

            }
            finally
            {
                ketnoi.DongKetNoi();
            }
            return ketqua;
        }
        protected void btnLuu_Click(object sender, EventArgs e)
        {
            try
            {
                string maPhieuDat = Request.QueryString["maPhieu"].ToString();
                DTOPhieuNVL_SX dtoPhieuNhap = new DTOPhieuNVL_SX();
                string maPhieuNhap = DateTime.Now.ToString("yyyyMMddHHmmss");
                dtoPhieuNhap.dtoPhieuDat = new DTOPhieuDatVatLieuCC();

                dtoPhieuNhap.MaPNVLSX = maPhieuNhap;
                dtoPhieuNhap.dtoPhieuDat.MaPDVLCC = maPhieuDat;
                dtoPhieuNhap.ngaylap = DateTime.Now.ToShortDateString();
                dtoPhieuNhap.NguoiGiao = txtNguoiGiao.Text;
                dtoPhieuNhap.NgayGiao = txtNgayGiao.Text;
                dtoPhieuNhap.MaNV = int.Parse(txtMaNV.Text);

                int dem = 0;
                if (daoEntities.ThemPhieuNhap(dtoPhieuNhap))
                {
                    foreach (GridViewRow dong in gridDSVatLieu.Rows)
                    {
                        TextBox txtSLThuc = (TextBox)dong.FindControl("txtSLThuc");
                        TextBox txtSLGiao = (TextBox)dong.FindControl("txtSoluongGiao");
                        Label lbMaVL = (Label)dong.FindControl("lbMaVL");
                        int soluongThuc = 0, soluongGiao = 0;
                        int.TryParse(txtSLThuc.Text, out soluongThuc);
                        int.TryParse(txtSLGiao.Text, out soluongGiao);
                        DTOChiTietPhieuNhapVL dtoChiTietPhieuNhapVL = new DTOChiTietPhieuNhapVL();
                        dtoChiTietPhieuNhapVL.dtoPhieuNhapVL = new DTOPhieuNVL_SX();
                        dtoChiTietPhieuNhapVL.dtoPhieuNhapVL.MaPNVLSX = maPhieuNhap;
                        dtoChiTietPhieuNhapVL.dtoVatLieu = new DTOVatLieu();
                        dtoChiTietPhieuNhapVL.dtoVatLieu.MaVL = int.Parse(lbMaVL.Text);
                        dtoChiTietPhieuNhapVL.SoLuongThuc = soluongThuc;
                        dtoChiTietPhieuNhapVL.SoLuongGiao = soluongGiao;

                        if (daoEntities.ThemCTPhieuNhap(dtoChiTietPhieuNhapVL))
                            dem++;

                        //cập nhật trạng thái phiếu đặt
                        daoEntities.capNhatTrangThaiPhieuDat(maPhieuDat, 2);

                        //xử lý sự cố
                        if (soluongThuc < soluongGiao)
                        { 
                            int soLuongKhongDat = soluongGiao - soluongThuc;
                            Label lbKhongDat = (Label)dong.FindControl("lbKhongDat");
                            if (daoEntities.ThemXuLySuCo(maPhieuNhap, int.Parse(lbMaVL.Text), soLuongKhongDat))
                                lbKhongDat.Text = soLuongKhongDat.ToString();
                            
                               
                        }
                    }
                }

                if (dem == gridDSVatLieu.Rows.Count)
                {
                    DTOPhieuGiao dtoPhieuGiao = new DTOPhieuGiao();
                    dtoPhieuGiao.MaPhieuGiao = maPhieuNhap;
                    dtoPhieuGiao.NgayGiao = txtNgayGiao.Text;
                    dtoPhieuGiao.NguoiGiao = txtNguoiGiao.Text;
                    if (daoEntities.ThemPhieuGiao(dtoPhieuGiao))
                    {
                        foreach (GridViewRow dong in gridDSVatLieu.Rows)
                        {
                            TextBox txtSLThuc = (TextBox)dong.FindControl("txtSLThuc");
                            TextBox txtSLGiao = (TextBox)dong.FindControl("txtSoluongGiao");
                            Label lbMaVL = (Label)dong.FindControl("lbMaVL");
                            int soluongThuc = 0, soluongGiao = 0;
                            int.TryParse(txtSLThuc.Text, out soluongThuc);
                            int.TryParse(txtSLGiao.Text, out soluongGiao);
                            DTOChiTietPhieuGiao dtoChiTietPhieuGiao = new DTOChiTietPhieuGiao();
                            dtoChiTietPhieuGiao.dtoPhieuGiao = new DTOPhieuGiao();
                            dtoChiTietPhieuGiao.dtoVatLieu = new DTOVatLieu();
                            dtoChiTietPhieuGiao.dtoVatLieu.MaVL = int.Parse(lbMaVL.Text);

                            dtoChiTietPhieuGiao.dtoPhieuGiao.MaPhieuGiao = maPhieuNhap;
                            dtoChiTietPhieuGiao.SoluongGiao = soluongGiao;

                            daoEntities.ThemCTPhieuGiao(dtoChiTietPhieuGiao);
                        }
                    }
                }
                
            }
            catch (Exception)
            {
                
                throw;
            }
        }