/// <summary>
        /// Cập nhật dữ liệu vào bảng: tblhoadonban
        /// </summary>
        /// <param name="obj">objtblhoadonban</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(tblhoadonban objtblhoadonban)
        {
            string strProc = "fn_tblhoadonban_Update";

            try
            {
                NpgsqlParameter[] prmArr = new NpgsqlParameter[7];
                prmArr[0]           = new NpgsqlParameter("id", NpgsqlDbType.Varchar);
                prmArr[0].Value     = objtblhoadonban.strid;
                prmArr[1]           = new NpgsqlParameter("id_khachhang", NpgsqlDbType.Varchar);
                prmArr[1].Value     = objtblhoadonban.strid_khachhang;
                prmArr[2]           = new NpgsqlParameter("tienthanhtoan", NpgsqlDbType.Double);
                prmArr[2].Value     = objtblhoadonban.dbltienthanhtoan;
                prmArr[3]           = new NpgsqlParameter("ghichu", NpgsqlDbType.Varchar);
                prmArr[3].Value     = objtblhoadonban.strghichu;
                prmArr[4]           = new NpgsqlParameter("chietkhau", NpgsqlDbType.Double);
                prmArr[4].Value     = objtblhoadonban.dblchietkhau;
                prmArr[5]           = new NpgsqlParameter("userid", NpgsqlDbType.Varchar);
                prmArr[5].Value     = objtblhoadonban.struserid;
                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("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);
            }
        }
        /// <summary>
        /// Hàm lấy tblhoadonban theo mã
        /// </summary>
        /// <returns>Trả về objtblhoadonban </returns>
        public tblhoadonban GetByID(string strid)
        {
            tblhoadonban objtblhoadonban = new tblhoadonban();
            string       strFun          = "fn_tblhoadonban_getobjbyid";

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

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

                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];
                        objtblhoadonban.id = dr["id"].ToString();

                        objtblhoadonban.id_khachhang = dr["id_khachhang"].ToString();

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

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

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

                        try { objtblhoadonban.ngaytao = Convert.ToDateTime(dr["ngaytao"].ToString()); }
                        catch { objtblhoadonban.ngaytao = new DateTime(1900, 1, 1); }

                        objtblhoadonban.userid = dr["userid"].ToString();


                        return(objtblhoadonban);
                    }

                    return(null);
                }

                return(null);
            }
            catch
            {
                return(null);
            }
        }
        /// <summary>
        /// Hàm lấy danh sách objtblhoadonban
        /// </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<<tblhoadonban>></returns>
        public List <tblhoadonban> GetListPaged(int recperpage, int pageindex)
        {
            List <tblhoadonban> list = new List <tblhoadonban>();
            string strFun            = "fn_tblhoadonban_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 dstblhoadonban = mDataAccess.ExecuteDataSet(strFun, CommandType.StoredProcedure, prmArr);
                if ((dstblhoadonban != null) && (dstblhoadonban.Tables.Count > 0))
                {
                    for (int i = 0; i < dstblhoadonban.Tables[0].Rows.Count; i++)
                    {
                        tblhoadonban objtblhoadonban = new tblhoadonban();
                        DataRow      dr = dstblhoadonban.Tables[0].Rows[i];
                        objtblhoadonban.id = dr["id"].ToString();

                        objtblhoadonban.id_khachhang = dr["id_khachhang"].ToString();

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

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

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

                        try { objtblhoadonban.ngaytao = Convert.ToDateTime(dr["ngaytao"].ToString()); }
                        catch { objtblhoadonban.ngaytao = new DateTime(1900, 1, 1); }

                        objtblhoadonban.userid = dr["userid"].ToString();

                        list.Add(objtblhoadonban);
                    }
                    return(list);
                }
                return(null);
            }
            catch
            {
                return(null);
            }
        }
        /// <summary>
        /// Hàm lấy tất cả dữ liệu trong bảng tblhoadonban
        /// </summary>
        /// <returns>Trả về List<<tblhoadonban>></returns>
        public List <tblhoadonban> GetList()
        {
            List <tblhoadonban> list = new List <tblhoadonban>();
            string strFun            = "fn_tblhoadonban_getall";

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

                        objtblhoadonban.id_khachhang = dr["id_khachhang"].ToString();

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

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

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

                        try { objtblhoadonban.ngaytao = Convert.ToDateTime(dr["ngaytao"].ToString()); }
                        catch { objtblhoadonban.ngaytao = new DateTime(1900, 1, 1); }

                        objtblhoadonban.userid = dr["userid"].ToString();

                        list.Add(objtblhoadonban);
                    }
                    return(list);
                }
                return(null);
            }
            catch
            {
                return(null);
            }
        }
        /// <summary>
        /// Hàm thống kê doanh thu theo thời gian
        /// </summary>
        /// <param name="stungay">Từ ngày kiểu string format: yyyy/MM/dd</param>
        /// <param name="sdengay">Đến ngày kiểu string format: yyyy/MM/dd</param>
        /// <returns>DataTable</returns>
        public DataTable TKDoanhThu(string stungay, string sdengay)
        {
            tblhoadonban objtblhoadonban = new tblhoadonban();
            string       strFun          = "fn_tblhoadonban_tkdoanhthu";

            try
            {
                NpgsqlParameter[] prmArr = new NpgsqlParameter[2];
                prmArr[0]       = new NpgsqlParameter("tungay", NpgsqlDbType.Varchar);
                prmArr[0].Value = stungay;
                prmArr[1]       = new NpgsqlParameter("dengay", NpgsqlDbType.Varchar);
                prmArr[1].Value = sdengay;
                DataSet dstblhoadonban = mDataAccess.ExecuteDataSet(strFun, CommandType.StoredProcedure, prmArr);
                return(dstblhoadonban.Tables[0]);
            }
            catch
            {
                return(null);
            }
        }