/// <summary>
        /// Hàm lấy tất cả dữ liệu trong bảng tblphieunhapkho
        /// </summary>
        /// <returns>Trả về List<<tblphieunhapkho>></returns>
        public List <tblphieunhapkho> GetList()
        {
            List <tblphieunhapkho> list = new List <tblphieunhapkho>();
            string strFun = "fn_tblphieunhapkho_getall";

            try
            {
                DataSet dstblphieunhapkho = mDataAccess.ExecuteDataSet(strFun, CommandType.StoredProcedure);
                if ((dstblphieunhapkho != null) && (dstblphieunhapkho.Tables.Count > 0))
                {
                    for (int i = 0; i < dstblphieunhapkho.Tables[0].Rows.Count; i++)
                    {
                        tblphieunhapkho objtblphieunhapkho = new tblphieunhapkho();
                        DataRow         dr = dstblphieunhapkho.Tables[0].Rows[i];
                        objtblphieunhapkho.id          = dr["id"].ToString();
                        objtblphieunhapkho.id_nguoicap = dr["id_nguoicap"].ToString();
                        try { objtblphieunhapkho.ngaytao = Convert.ToDateTime(dr["ngaytao"].ToString()); }
                        catch { objtblphieunhapkho.ngaytao = new DateTime(1900, 1, 1); }
                        try { objtblphieunhapkho.tienthanhtoan = Convert.ToDouble("0" + dr["tienthanhtoan"].ToString()); }
                        catch { objtblphieunhapkho.tienthanhtoan = 0; }
                        objtblphieunhapkho.noinhap = dr["noinhap"].ToString();
                        objtblphieunhapkho.ghichu  = dr["ghichu"].ToString();
                        try { objtblphieunhapkho.chietkhau = Convert.ToDouble("0" + dr["chietkhau"].ToString()); }
                        catch { objtblphieunhapkho.chietkhau = 0; }
                        list.Add(objtblphieunhapkho);
                    }
                    return(list);
                }
                return(null);
            }
            catch
            {
                return(null);
            }
        }
        /// <summary>
        /// Hàm lấy danh sách objtblphieunhapkho
        /// </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<<tblphieunhapkho>></returns>
        public List <tblphieunhapkho> GetListPaged(int recperpage, int pageindex)
        {
            List <tblphieunhapkho> list = new List <tblphieunhapkho>();
            string strFun = "fn_tblphieunhapkho_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 dstblphieunhapkho = mDataAccess.ExecuteDataSet(strFun, CommandType.StoredProcedure, prmArr);
                if ((dstblphieunhapkho != null) && (dstblphieunhapkho.Tables.Count > 0))
                {
                    for (int i = 0; i < dstblphieunhapkho.Tables[0].Rows.Count; i++)
                    {
                        tblphieunhapkho objtblphieunhapkho = new tblphieunhapkho();
                        DataRow         dr = dstblphieunhapkho.Tables[0].Rows[i];
                        objtblphieunhapkho.id          = dr["id"].ToString();
                        objtblphieunhapkho.id_nguoicap = dr["id_nguoicap"].ToString();
                        try { objtblphieunhapkho.ngaytao = Convert.ToDateTime(dr["ngaytao"].ToString()); }
                        catch { objtblphieunhapkho.ngaytao = new DateTime(1900, 1, 1); }
                        try { objtblphieunhapkho.tienthanhtoan = Convert.ToDouble("0" + dr["tienthanhtoan"].ToString()); }
                        catch { objtblphieunhapkho.tienthanhtoan = 0; }
                        objtblphieunhapkho.noinhap = dr["noinhap"].ToString();
                        objtblphieunhapkho.ghichu  = dr["ghichu"].ToString();
                        try { objtblphieunhapkho.chietkhau = Convert.ToDouble("0" + dr["chietkhau"].ToString()); }
                        catch { objtblphieunhapkho.chietkhau = 0; }
                        list.Add(objtblphieunhapkho);
                    }
                    return(list);
                }
                return(null);
            }
            catch
            {
                return(null);
            }
        }
        /// <summary>
        /// Hàm lấy hóa đơn nhập mới nhất theo ngày tạo(chặn cuối) và mã nhà cung cấp
        /// </summary>
        /// <param name="sngaytao">Ngày tạo kiểu string format: yyyy/MM/dd</param>
        /// <param name="sidnhacc">Mã nhà cung cấp kiểu string</param>
        /// <returns>tblphieunhapkho</returns>
        public tblphieunhapkho GetNewFirstByNgayTaovsIDKH(string sngaytao, string sidnhacc)
        {
            tblphieunhapkho objtblphieunhapkho = new tblphieunhapkho();
            string          strFun             = "fn_tblphieunhapkho_getnewfirst";

            try
            {
                NpgsqlParameter[] prmArr = new NpgsqlParameter[2];
                prmArr[0]       = new NpgsqlParameter("ngaytao", NpgsqlDbType.Varchar);
                prmArr[0].Value = sngaytao;
                prmArr[1]       = new NpgsqlParameter("iid_nhacc", NpgsqlDbType.Varchar);
                prmArr[1].Value = sidnhacc;
                DataSet dstblhoadonban = mDataAccess.ExecuteDataSet(strFun, CommandType.StoredProcedure, prmArr);
                if ((dstblhoadonban != null) && (dstblhoadonban.Tables.Count > 0))
                {
                    if (dstblhoadonban.Tables[0].Rows.Count > 0)
                    {
                        DataRow dr = dstblhoadonban.Tables[0].Rows[0];
                        objtblphieunhapkho.id          = dr["id"].ToString();
                        objtblphieunhapkho.id_nguoicap = dr["id_nguoicap"].ToString();
                        try { objtblphieunhapkho.ngaytao = Convert.ToDateTime(dr["ngaytao"].ToString()); }
                        catch { objtblphieunhapkho.ngaytao = new DateTime(1900, 1, 1); }
                        try { objtblphieunhapkho.tienthanhtoan = Convert.ToDouble("0" + dr["tienthanhtoan"].ToString()); }
                        catch { objtblphieunhapkho.tienthanhtoan = 0; }
                        objtblphieunhapkho.noinhap = dr["noinhap"].ToString();
                        objtblphieunhapkho.ghichu  = dr["ghichu"].ToString();
                        try { objtblphieunhapkho.chietkhau = Convert.ToDouble("0" + dr["chietkhau"].ToString()); }
                        catch { objtblphieunhapkho.chietkhau = 0; }
                        return(objtblphieunhapkho);
                    }
                    return(null);
                }
                return(null);
            }
            catch
            {
                return(null);
            }
        }
        /// <summary>
        /// Cập nhật dữ liệu vào bảng: tblphieunhapkho
        /// </summary>
        /// <param name="obj">objtblphieunhapkho</param>
        /// <returns>Trả về trắng: Cập nhật thành công; Trả về khác trắng: Cập nhật không thành công</returns>
        public string Update(tblphieunhapkho objtblphieunhapkho)
        {
            string strProc = "fn_tblphieunhapkho_Update";

            try
            {
                NpgsqlParameter[] prmArr = new NpgsqlParameter[8];
                prmArr[0]           = new NpgsqlParameter("id", NpgsqlDbType.Varchar);
                prmArr[0].Value     = objtblphieunhapkho.strid;
                prmArr[1]           = new NpgsqlParameter("id_nguoicap", NpgsqlDbType.Varchar);
                prmArr[1].Value     = objtblphieunhapkho.strid_nguoicap;
                prmArr[2]           = new NpgsqlParameter("ngaytao", NpgsqlDbType.Varchar);
                prmArr[2].Value     = objtblphieunhapkho.dtmngaytao.ToString("yyyy/MM/dd HH:mm:ss");
                prmArr[3]           = new NpgsqlParameter("tienthanhtoan", NpgsqlDbType.Double);
                prmArr[3].Value     = objtblphieunhapkho.dbltienthanhtoan;
                prmArr[4]           = new NpgsqlParameter("noinhap", NpgsqlDbType.Varchar);
                prmArr[4].Value     = objtblphieunhapkho.strnoinhap;
                prmArr[5]           = new NpgsqlParameter("ghichu", NpgsqlDbType.Varchar);
                prmArr[5].Value     = objtblphieunhapkho.strghichu;
                prmArr[6]           = new NpgsqlParameter("chietkhau", NpgsqlDbType.Double);
                prmArr[6].Value     = objtblphieunhapkho.chietkhau;
                prmArr[7]           = new NpgsqlParameter("ireturn", NpgsqlDbType.Text);
                prmArr[7].Direction = ParameterDirection.Output;
                mDataAccess.ExecuteQuery(strProc, CommandType.StoredProcedure, prmArr);
                string sKQ = prmArr[7].Value.ToString().Trim();
                if (sKQ.ToUpper().Equals("Update".ToUpper()) == true)
                {
                    return("");
                }
                return("Cập nhật dữ liệu không thành công");
            }
            catch (Exception ex)
            {
                return("Cập nhật dữ liệu không thành công. Chi Tiết: " + ex.Message);
            }
        }