public FrmChiTietPhieuTamTru(PhieuTamTru phieu)
        {
            InitializeComponent();

            if (phieu == null)
            {
                SetThemState();

                phieuTamTru         = new PhieuTamTru();
                phieuTamTru.NgayCap = DateTime.Now;
            }
            else
            {
                SetSuaState();
                disableSua();
                rbKhong.Select();

                phieuTamTru = phieu;
            }

            setData(phieuTamTru);

            btnLuuSua.Click  += BtnLuu_Click;
            btnLuuThem.Click += BtnLuuThem_Click;
            btnQuayLai.Click += BtnQuayLai_Click;

            rbCo.Click    += RbCo_Click;
            rbKhong.Click += RbKhong_Click;

            printDoc.PrintPage += PrintDoc_PrintPage;
            btnIn.Click        += BtnIn_Click;
        }
        public bool Delete(PhieuTamTru ptt)
        {
            string query = string.Empty;

            query += "DELETE FROM [PHIEU_TAM_TRU] WHERE [Ma] = @Ma";
            using (SqlConnection _cnn = new SqlConnection(ConnectionString))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection  = _cnn;
                    cmd.CommandType = System.Data.CommandType.Text;
                    cmd.CommandText = query;
                    cmd.Parameters.AddWithValue("@Ma", ptt.Ma);
                    try
                    {
                        _cnn.Open();
                        cmd.ExecuteNonQuery();
                        _cnn.Close();
                        _cnn.Dispose();
                    }
                    catch (Exception ex)
                    {
                        _cnn.Close();
                        return(false);
                    }
                }
            }
            return(true);
        }
 private void setData(PhieuTamTru result)
 {
     tbNguoiKhaiBao.Text = result.NguoiKhaiBao;
     tbLyDo.Text         = result.LyDo;
     tbNoiTamTru.Text    = result.NoiTamTru;
     tbNoiLap.Text       = result.NoiCap;
     dtpNgayGhi.Value    = result.NgayCap;
     tbTenCanBo.Text     = result.NguoiCap;
 }
        public List <PhieuTamTru> ReadAllByKeyword(string key)
        {
            string query = string.Empty;

            query += @"select * from [PHIEU_TAM_TRU]
                    where
                        NguoiKhaiBao like @Param or
                        NoiTamTru like @Param or
                        LyDo like @Param or
                        NoiGhi like @Param or
                        convert(nvarchar(25), NgayGhi, 25) like @Param or
                        TenCanBo like @Param
            ";

            List <PhieuTamTru> phieus = new List <PhieuTamTru>();

            using (SqlConnection con = new SqlConnection(ConnectionString))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection  = con;
                    cmd.CommandType = System.Data.CommandType.Text;
                    cmd.CommandText = query;
                    cmd.Parameters.AddWithValue("@Param", '%' + key + '%');

                    try
                    {
                        con.Open();
                        SqlDataReader reader = null;

                        reader = cmd.ExecuteReader();
                        if (reader.HasRows == true)
                        {
                            while (reader.Read())
                            {
                                PhieuTamTru ptt = GetFromReader(reader);

                                phieus.Add(ptt);
                            }
                        }

                        con.Close();
                        con.Dispose();
                    }
                    catch (Exception ex)
                    {
                        con.Close();
                        return(null);
                    }
                }
            }
            return(phieus);
        }
        public bool Add(PhieuTamTru ptt)
        {
            string query = string.Empty;

            query += @"
                INSERT INTO [PHIEU_TAM_TRU] (
                    [NguoiKhaiBao], 
                    [NoiTamTru], 
                    [LyDo], 
                    [NgayGhi], 
                    [NoiGhi], 
                    [TenCanBo]
                    )";
            query += @"VALUES (
                @NguoiKhaiBao, 
                @NoiTamTru, 
                @LyDo, 
                @NgayGhi, 
                @NoiGhi, 
                @TenCanBo
                )";
            using (SqlConnection _cnn = new SqlConnection(ConnectionString))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection  = _cnn;
                    cmd.CommandType = System.Data.CommandType.Text;
                    cmd.CommandText = query;

                    cmd.Parameters.AddWithValue("@NguoiKhaiBao", ptt.NguoiKhaiBao);
                    cmd.Parameters.AddWithValue("@NoiTamTru", ptt.NoiTamTru);
                    cmd.Parameters.AddWithValue("@LyDo", ptt.LyDo);
                    cmd.Parameters.AddWithValue("@NgayGhi", ptt.NgayCap);
                    cmd.Parameters.AddWithValue("@NoiGhi", ptt.NoiCap);
                    cmd.Parameters.AddWithValue("@TenCanBo", ptt.NguoiCap);

                    try
                    {
                        _cnn.Open();
                        cmd.ExecuteNonQuery();
                        _cnn.Close();
                        _cnn.Dispose();
                    }
                    catch (Exception ex)
                    {
                        _cnn.Close();
                        return(false);
                    }
                }
            }
            return(true);
        }
        private void DgvPhieuTamTru_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            int numrow;

            numrow = e.RowIndex;
            if (numrow == -1)
            {
                disableSelect();
            }
            else
            {
                enableSelect();
                phieuTamTruSelected = listPhieuTamTru[numrow];
            }
        }
        public bool Update(PhieuTamTru ptt)
        {
            string query = string.Empty;

            query += "UPDATE [PHIEU_TAM_TRU] SET ";
            query += "[NguoiKhaiBao] = @NguoiKhaiBao, ";
            query += "[NoiTamTru] = @NoiTamTru, ";
            query += "[LyDo] = @LyDo, ";
            query += "[NgayGhi] = @NgayGhi, ";
            query += "[NoiGhi] = @NoiGhi, ";
            query += "[TenCanBo] = @TenCanBo ";
            query += "WHERE [Ma] = @Ma";

            using (SqlConnection _cnn = new SqlConnection(ConnectionString))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection  = _cnn;
                    cmd.CommandType = System.Data.CommandType.Text;
                    cmd.CommandText = query;

                    cmd.Parameters.AddWithValue("@Ma", ptt.Ma);
                    cmd.Parameters.AddWithValue("@NguoiKhaiBao", ptt.NguoiKhaiBao);
                    cmd.Parameters.AddWithValue("@NoiTamTru", ptt.NoiTamTru);
                    cmd.Parameters.AddWithValue("@LyDo", ptt.LyDo);
                    cmd.Parameters.AddWithValue("@NgayGhi", ptt.NgayCap);
                    cmd.Parameters.AddWithValue("@NoiGhi", ptt.NoiCap);
                    cmd.Parameters.AddWithValue("@TenCanBo", ptt.NguoiCap);

                    try
                    {
                        _cnn.Open();
                        cmd.ExecuteNonQuery();
                        _cnn.Close();
                        _cnn.Dispose();
                    }
                    catch (Exception ex)
                    {
                        _cnn.Close();
                        return(false);
                    }
                }
            }
            return(true);
        }
        public List <PhieuTamTru> ReadAll()
        {
            string query = string.Empty;

            query += "SELECT * ";
            query += "FROM [PHIEU_TAM_TRU]";

            List <PhieuTamTru> phieus = new List <PhieuTamTru>();

            using (SqlConnection con = new SqlConnection(ConnectionString))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection  = con;
                    cmd.CommandType = System.Data.CommandType.Text;
                    cmd.CommandText = query;

                    try
                    {
                        con.Open();
                        SqlDataReader reader = null;

                        reader = cmd.ExecuteReader();
                        if (reader.HasRows == true)
                        {
                            while (reader.Read())
                            {
                                PhieuTamTru ptt = GetFromReader(reader);

                                phieus.Add(ptt);
                            }
                        }

                        con.Close();
                        con.Dispose();
                    }
                    catch (Exception ex)
                    {
                        con.Close();
                        return(null);
                    }
                }
            }
            return(phieus);
        }
        public PhieuTamTru Read(string ma)
        {
            string query = string.Empty;

            query += "SELECT TOP 1 * ";
            query += "FROM [PHIEU_TAM_TRU] WHERE [Ma]=@Ma";

            PhieuTamTru ptt = new PhieuTamTru();

            using (SqlConnection con = new SqlConnection(ConnectionString))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection  = con;
                    cmd.CommandType = System.Data.CommandType.Text;
                    cmd.CommandText = query;
                    cmd.Parameters.AddWithValue("@Ma", ma);

                    try
                    {
                        con.Open();
                        SqlDataReader reader = null;

                        reader = cmd.ExecuteReader();
                        reader.Read();

                        ptt = GetFromReader(reader);

                        con.Close();
                        con.Dispose();
                    }
                    catch (Exception ex)
                    {
                        con.Close();
                        return(null);
                    }
                }
            }
            return(ptt);
        }
        private PhieuTamTru GetFromReader(SqlDataReader reader)
        {
            PhieuTamTru ptt = new PhieuTamTru();

            ptt.Ma           = int.Parse(reader["Ma"].ToString());
            ptt.NguoiKhaiBao = reader["NguoiKhaiBao"].ToString();
            ptt.NoiTamTru    = reader["NoiTamTru"].ToString();
            ptt.LyDo         = reader["LyDo"].ToString();
            ptt.NoiCap       = reader["NoiGhi"].ToString();
            ptt.NguoiCap     = reader["TenCanBo"].ToString();

            string NgayGhi;

            NgayGhi = reader["NgayGhi"].ToString();

            if (!string.IsNullOrEmpty(NgayGhi.Trim()))
            {
                ptt.NgayCap = DateTime.Parse(NgayGhi);
            }

            return(ptt);
        }
 public bool Validate(PhieuTamTru phieu, ref string error)
 {
     return(true);
 }
 public bool Delete(PhieuTamTru cd)
 {
     return(PhieuTamTruDAL.GetInstance().Delete(cd));
 }
 public bool Update(PhieuTamTru cd)
 {
     return(PhieuTamTruDAL.GetInstance().Update(cd));
 }
 public bool Add(PhieuTamTru cd)
 {
     return(PhieuTamTruDAL.GetInstance().Add(cd));
 }