//
        // GET: /TimKiem/
        public ActionResult Index()
        {
            SessionInfoOfUser _sessionInfo = getSession();

            // [1] Kiểm Có xác định mã dich vụ ko?
            if (Request.QueryString["dv"] != null && MvcApplication.IsNumeric(Request.QueryString["dv"]))
            {
                _sessionInfo.DichVu = Convert.ToInt32(Request.QueryString["dv"]);
            }
            // kết thúc [1]

            TimKiemDAO tkDAO = new TimKiemDAO();
            // [2] Kiểm tra có phải người dùng chọn link phân trang ko?
            int _currentpage = 1;

            if (Request.QueryString["keyword"] != null && Request.QueryString["pagecurrent"] != null && MvcApplication.IsNumeric(Request.QueryString["pagecurrent"]) && _sessionInfo.SqlSearch != null && _sessionInfo.Pages != 0)
            {
                _currentpage = Convert.ToInt32(Request.QueryString["pagecurrent"]);
                if (_currentpage <= _sessionInfo.Pages)
                {
                    ViewData["pagging"] = _pagging();
                    tkDAO.SqlSearch     = _sessionInfo.SqlSearch;
                    return(View(tkDAO.getPage(_currentpage)));
                }
            }
            // Kết thúc [2]

            // [3] Xử lý keyword
            string keyword = MvcApplication.formatInputString(Request.QueryString["keyword"]);

            _sessionInfo.KeyWord = keyword;
            // Kết thúc [3]

            // [4] Tính thời gian tìm kiếm
            DateTime time1 = DateTime.Now;

            List <DuLieuDTO> lst = _sessionInfo.DichVu == -1 ? tkDAO.timKiem(keyword) : tkDAO.timKiem(keyword, _sessionInfo.DichVu);

            DateTime time2 = DateTime.Now;
            TimeSpan ts    = time2 - time1;

            _sessionInfo.TimeRun = (ts.Seconds + (float)ts.Milliseconds / 1000);
            // Kết thúc [4]

            // [5] Lưu giữ lại các thông tin tìm kiếm
            _sessionInfo.ResultCount = tkDAO.ResultCount;
            _sessionInfo.SqlSearch   = tkDAO.SqlSearch;
            _sessionInfo.Pages       = tkDAO.Pages();
            // Kết thúc [5]
            ViewData["pagging"] = _pagging();

            return(View(lst));
        }
        private String _pagging()
        {
            SessionInfoOfUser _sessionInfo = getSession();
            int pages = _sessionInfo.Pages;

            if (pages <= 1)
            {
                return(String.Empty);
            }
            StringBuilder _rs         = new StringBuilder();
            int           _pagenumber = pages > MvcApplication.Page_range1 ? MvcApplication.Page_range1 : pages;

            if (Request.QueryString["_pagenumber"] != null && MvcApplication.IsNumeric(Request.QueryString["_pagenumber"]))
            {
                _pagenumber = Convert.ToInt32(Request.QueryString["_pagenumber"]);
            }

            int _pagecurrent = 1;

            if (Request.QueryString["pagecurrent"] != null && MvcApplication.IsNumeric(Request.QueryString["pagecurrent"]))
            {
                _pagecurrent = Convert.ToInt32(Request.QueryString["pagecurrent"]);
            }

            String kw = String.Empty;

            if (Request.QueryString["keyword"] != null)
            {
                kw = Request.QueryString["keyword"];
            }

            int _end = _pagenumber + _pagecurrent;// trang cuối cùng được hiện thị.

            if (_end > pages)
            {
                _end = pages;
            }
            int _start      = 1;
            int _page_rang2 = MvcApplication.Page_range2;

            if (_end > _page_rang2)// Nếu thỏa tính lại trang bắt đầu hiện thị.
            {
                int _v = _end / _page_rang2 - 1;
                _start = _v > 0 ? _v * _page_rang2 + _end % _page_rang2 : _end % _page_rang2;
            }
            if (_pagecurrent > 1)
            {
                _rs.AppendFormat("<div><a href=\"/TimKiem/?pagenumber={0}&pagecurrent={1}&keyword={2}\">Trước</a></div>", _end, _pagecurrent - 1, kw);
            }
            for (int i = _start; i <= _end; i++)
            {
                if (i != _pagecurrent)
                {
                    _rs.AppendFormat("<div><a href=\"/TimKiem/?pagenumber={0}&pagecurrent={1}&keyword={2}\">{1}</a></div>", _end, i, kw);
                }
                else
                {
                    _rs.AppendFormat("<div><span>{0}</span></div>", i);
                }
            }
            if (_pagecurrent < pages)
            {
                _rs.AppendFormat("<div><a href=\"/TimKiem/?pagenumber={0}&pagecurrent={1}&keyword={2}\">Tiếp</a></div>", _end, _pagecurrent + 1, kw);
            }
            return(_rs.ToString());
        }