/// <summary>
        /// Hàm lấy tblhangnhapkho theo mã
        /// </summary>
        /// <returns>Trả về objtblhangnhapkho </returns>
        public tblhangnhapkho GetByID(string strid)
        {
            tblhangnhapkho objtblhangnhapkho = new tblhangnhapkho();
            string         strFun            = "fn_tblhangnhapkho_getobjbyid";

            try
            {
                NpgsqlParameter[] prmArr = new NpgsqlParameter[1];

                prmArr[0]       = new NpgsqlParameter("id", NpgsqlDbType.Varchar);
                prmArr[0].Value = strid;

                DataSet dstblhangnhapkho = mDataAccess.ExecuteDataSet(strFun, CommandType.StoredProcedure, prmArr);

                if ((dstblhangnhapkho != null) && (dstblhangnhapkho.Tables.Count > 0))
                {
                    if (dstblhangnhapkho.Tables[0].Rows.Count > 0)
                    {
                        DataRow dr = dstblhangnhapkho.Tables[0].Rows[0];
                        objtblhangnhapkho.id = dr["id"].ToString();

                        objtblhangnhapkho.id_phieunhapkho = dr["id_phieunhapkho"].ToString();

                        objtblhangnhapkho.id_mathang = dr["id_mathang"].ToString();

                        try { objtblhangnhapkho.soluong = Convert.ToInt32("0" + dr["soluong"].ToString()); }
                        catch { objtblhangnhapkho.soluong = 0; }

                        try { objtblhangnhapkho.gianhap = Convert.ToDouble("0" + dr["gianhap"].ToString()); }
                        catch { objtblhangnhapkho.gianhap = 0; }

                        objtblhangnhapkho.ghichu = dr["ghichu"].ToString();


                        return(objtblhangnhapkho);
                    }

                    return(null);
                }

                return(null);
            }
            catch
            {
                return(null);
            }
        }
        /// <summary>
        /// Hàm lấy danh sách mặt hàng theo mã phiếu nhập kho
        /// </summary>
        /// <param name="stridpn">Mã phiếu nhập kho kiểu string</param>
        /// <returns>DataTable</returns>
        public DataTable GetByIDPN(string stridpn)
        {
            tblhangnhapkho objtblhangnhapkho = new tblhangnhapkho();
            string         strFun            = "fn_tblhangnhapkho_getbyidpn";

            try
            {
                NpgsqlParameter[] prmArr = new NpgsqlParameter[1];
                prmArr[0]       = new NpgsqlParameter("id_phieunhapkho", NpgsqlDbType.Varchar);
                prmArr[0].Value = stridpn;
                DataSet dstblhangnhapkho = mDataAccess.ExecuteDataSet(strFun, CommandType.StoredProcedure, prmArr);
                return(dstblhangnhapkho.Tables[0]);
            }
            catch
            {
                return(null);
            }
        }
        /// <summary>
        /// Hàm lấy danh sách objtblhangnhapkho
        /// </summary>
        /// <param name="recperpage">Số lượng bản ghi kiểu integer</param>
        /// <param name="pageindex">Số trang kiểu integer</param>
        /// <returns>Trả về List<<tblhangnhapkho>></returns>
        public List <tblhangnhapkho> GetListPaged(int recperpage, int pageindex)
        {
            List <tblhangnhapkho> list = new List <tblhangnhapkho>();
            string strFun = "fn_tblhangnhapkho_getpaged";

            try
            {
                NpgsqlParameter[] prmArr = new NpgsqlParameter[2];
                prmArr[0]       = new NpgsqlParameter("recperpage", NpgsqlDbType.Integer);
                prmArr[0].Value = recperpage;
                prmArr[1]       = new NpgsqlParameter("pageindex", NpgsqlDbType.Integer);
                prmArr[1].Value = pageindex;
                DataSet dstblhangnhapkho = mDataAccess.ExecuteDataSet(strFun, CommandType.StoredProcedure, prmArr);
                if ((dstblhangnhapkho != null) && (dstblhangnhapkho.Tables.Count > 0))
                {
                    for (int i = 0; i < dstblhangnhapkho.Tables[0].Rows.Count; i++)
                    {
                        tblhangnhapkho objtblhangnhapkho = new tblhangnhapkho();
                        DataRow        dr = dstblhangnhapkho.Tables[0].Rows[i];
                        objtblhangnhapkho.id = dr["id"].ToString();

                        objtblhangnhapkho.id_phieunhapkho = dr["id_phieunhapkho"].ToString();

                        objtblhangnhapkho.id_mathang = dr["id_mathang"].ToString();

                        try { objtblhangnhapkho.soluong = Convert.ToInt32("0" + dr["soluong"].ToString()); }
                        catch { objtblhangnhapkho.soluong = 0; }

                        try { objtblhangnhapkho.gianhap = Convert.ToDouble("0" + dr["gianhap"].ToString()); }
                        catch { objtblhangnhapkho.gianhap = 0; }

                        objtblhangnhapkho.ghichu = dr["ghichu"].ToString();

                        list.Add(objtblhangnhapkho);
                    }
                    return(list);
                }
                return(null);
            }
            catch
            {
                return(null);
            }
        }
        /// <summary>
        /// Thêm mới dữ liệu vào bảng: tblhangnhapkho
        /// </summary>
        /// <param name="obj">objtblhangnhapkho</param>
        /// <returns>Trả về trắng: Thêm mới thành công; Trả về khác trắng: Thêm mới không thành công</returns>
        public string Insert(tblhangnhapkho objtblhangnhapkho)
        {
            string strProc = "fn_tblhangnhapkho_insert";

            try
            {
                NpgsqlParameter[] prmArr = new NpgsqlParameter[7];

                prmArr[0]       = new NpgsqlParameter("id", NpgsqlDbType.Varchar);
                prmArr[0].Value = objtblhangnhapkho.strid;

                prmArr[1]       = new NpgsqlParameter("id_phieunhapkho", NpgsqlDbType.Varchar);
                prmArr[1].Value = objtblhangnhapkho.strid_phieunhapkho;

                prmArr[2]       = new NpgsqlParameter("id_mathang", NpgsqlDbType.Varchar);
                prmArr[2].Value = objtblhangnhapkho.strid_mathang;

                prmArr[3]       = new NpgsqlParameter("soluong", NpgsqlDbType.Integer);
                prmArr[3].Value = objtblhangnhapkho.intsoluong;

                prmArr[4]       = new NpgsqlParameter("gianhap", NpgsqlDbType.Double);
                prmArr[4].Value = objtblhangnhapkho.dblgianhap;

                prmArr[5]       = new NpgsqlParameter("ghichu", NpgsqlDbType.Varchar);
                prmArr[5].Value = objtblhangnhapkho.strghichu;

                prmArr[6]           = new NpgsqlParameter("ireturn", NpgsqlDbType.Text);
                prmArr[6].Direction = ParameterDirection.Output;

                mDataAccess.ExecuteQuery(strProc, CommandType.StoredProcedure, prmArr);

                string sKQ = prmArr[6].Value.ToString().Trim();

                if (sKQ.ToUpper().Equals("Add".ToUpper()) == true)
                {
                    return("");
                }
                return("Thêm mới dữ liệu không thành công");
            }
            catch (Exception ex)
            {
                return("Thêm mới dữ liệu không thành công. Chi Tiết: " + ex.Message);
            }
        }
        /// <summary>
        /// Hàm lấy tất cả dữ liệu trong bảng tblhangnhapkho
        /// </summary>
        /// <returns>Trả về List<<tblhangnhapkho>></returns>
        public List <tblhangnhapkho> GetList()
        {
            List <tblhangnhapkho> list = new List <tblhangnhapkho>();
            string strFun = "fn_tblhangnhapkho_getall";

            try
            {
                DataSet dstblhangnhapkho = mDataAccess.ExecuteDataSet(strFun, CommandType.StoredProcedure);
                if ((dstblhangnhapkho != null) && (dstblhangnhapkho.Tables.Count > 0))
                {
                    for (int i = 0; i < dstblhangnhapkho.Tables[0].Rows.Count; i++)
                    {
                        tblhangnhapkho objtblhangnhapkho = new tblhangnhapkho();
                        DataRow        dr = dstblhangnhapkho.Tables[0].Rows[i];
                        objtblhangnhapkho.id = dr["id"].ToString();

                        objtblhangnhapkho.id_phieunhapkho = dr["id_phieunhapkho"].ToString();

                        objtblhangnhapkho.id_mathang = dr["id_mathang"].ToString();

                        try { objtblhangnhapkho.soluong = Convert.ToInt32("0" + dr["soluong"].ToString()); }
                        catch { objtblhangnhapkho.soluong = 0; }

                        try { objtblhangnhapkho.gianhap = Convert.ToDouble("0" + dr["gianhap"].ToString()); }
                        catch { objtblhangnhapkho.gianhap = 0; }

                        objtblhangnhapkho.ghichu = dr["ghichu"].ToString();

                        list.Add(objtblhangnhapkho);
                    }
                    return(list);
                }
                return(null);
            }
            catch
            {
                return(null);
            }
        }