public void FetchResultDetails(IList<Na.Core.Domain.Browse.BrowseData> resultdetails, BrowseResultsModel model, int? page)
        {
            HttpCookie hcBrowse = null;
            if ((Request.Cookies[_config.GetStringValueFromConfig("cookiePrefix", "NewspaperARCHIVE.com") + ".BrowseLocation"] != null && Request.Cookies[_config.GetStringValueFromConfig("cookiePrefix", "NewspaperARCHIVE.com") + ".BrowseLocation"].HasKeys))
            {
                hcBrowse = Request.Cookies[_config.GetStringValueFromConfig("cookiePrefix", "NewspaperARCHIVE.com") + ".BrowseLocation"];
            }
            var _recordsPerPage = _common.GetIntegerValue(model.hdnRecordsPerPage, 0);
            if (hcBrowse != null && _recordsPerPage == 0) { _recordsPerPage = _common.GetIntegerValue(hcBrowse.Values["resultsperpage"], 0); }

            int startIndex = (page ?? 1);
            if (resultdetails != null && resultdetails.Count > 0)
            {
                if (_recordsPerPage > 0) { model.ResultsPageCount = _recordsPerPage; } else { model.ResultsPageCount = 15; }

                //var _resultPerpage = new List<SelectListItem>();
                //_resultPerpage.Add(new SelectListItem { Value = "10", Text = "10", Selected = 10 == _recordsPerPage ? true : false });
                //_resultPerpage.Add(new SelectListItem { Value = "20", Text = "20", Selected = 20 == _recordsPerPage ? true : false });
                //_resultPerpage.Add(new SelectListItem { Value = "30", Text = "30", Selected = 30 == _recordsPerPage ? true : false });
                //model.ResulsPerPage = _resultPerpage;

                var _resultPerpage = new List<SelectListItem>();
                _resultPerpage.Add(new SelectListItem { Value = "15", Text = "15", Selected = 15 == _recordsPerPage ? true : false });
                _resultPerpage.Add(new SelectListItem { Value = "30", Text = "30", Selected = 30 == _recordsPerPage ? true : false });
                model.ResulsPerPage = _resultPerpage;

                var result = resultdetails.AsEnumerable();
                // result = model.results = resultdetails.ToPagedList(startIndex, _common.GetIntegerValue(model.ResultsPageCount, 15)); //resultdetails.Skip(startIndex).Take(RecordsPerPage);

                foreach (var item in result)
                {
                    var results = new Na.Website.Models.Browse.BrowseResultsDetailsModel();
                    results.cityid = _common.GetIntegerValue(item.cityid, 0);
                    results.stateid = _common.GetIntegerValue(item.stateid, 0);
                    results.countryid = _common.GetIntegerValue(item.countryid, 0);
                    results.cityName = _common.GetStringValue(item.cityName, "");
                    results.statename = _common.GetStringValue(item.statename, "");
                    results.countryname = _common.GetStringValue(item.countryname, "");
                    results.pubTitle = _common.GetStringValue(item.pubTitle, "");
                    results.formatedPubTitle = _common.GetStringValue(item.pubTitleURL, "");  //ReplaceTHE_RemoveSpecialChar(_common.GetStringValue(item.pubTitle, "").ToLower());
                    results.pubid = _common.GetIntegerValue(item.pubid, 0);
                    results.MaxPubdateYear = _common.GetStringValue(item.MaxPubdateYear, "");
                    results.MinPubdateYear = _common.GetStringValue(item.MinPubdateYear, "");
                    if (results.MaxPubdateYear != "" && (results.MaxPubdateYear == results.MinPubdateYear))
                    {
                        results.PubdateYearRange = results.MaxPubdateYear;
                    }
                    else
                    {
                        results.PubdateYearRange = results.MinPubdateYear + " - " + results.MaxPubdateYear;
                    }
                    results.countryAbbr = _common.GetStringValue(item.CountryUrlText, "").Replace(" ", "");
                    results.formatedStateName = FormatedLocationNames(_common.GetStringValue(item.statename, ""));
                    results.formatedCityName = FormatedLocationNames(_common.GetStringValue(item.cityName, ""));
                    model.resultDetails.Add(results);
                }
            }
        }
        /// <summary>
        ///  Written by Mamta Gupta on 12Sept to fetch result in this function using page no and result per page
        /// </summary>
        /// <param name="resultdetails"></param>
        /// <param name="model"></param>
        /// <param name="page"></param>
        public void FetchResultDetails(BrowseResultsModel model, int? page)
        {
            HttpCookie hcBrowse = null;
            if ((Request.Cookies[_config.GetStringValueFromConfig("cookiePrefix", "NewspaperARCHIVE.com") + ".BrowseLocation"] != null && Request.Cookies[_config.GetStringValueFromConfig("cookiePrefix", "NewspaperARCHIVE.com") + ".BrowseLocation"].HasKeys))
            {
                hcBrowse = Request.Cookies[_config.GetStringValueFromConfig("cookiePrefix", "NewspaperARCHIVE.com") + ".BrowseLocation"];
            }
            var _recordsPerPage = _common.GetIntegerValue(model.hdnRecordsPerPage, 0);
            if (hcBrowse != null && _recordsPerPage == 0) { _recordsPerPage = _common.GetIntegerValue(hcBrowse.Values["resultsperpage"], 0); }

            if (_recordsPerPage > 0) { model.ResultsPageCount = _recordsPerPage; } else { model.ResultsPageCount = 15; _recordsPerPage = 15; }
            int startIndex = (page ?? 1);
            model.Page = _common.GetIntegerValue(startIndex, 1);
            //var resultdetailsWithPagingData = _BrowseDataService.GetBrowseYearRangeResultsV1(_common.GetIntegerValue(hcBrowse.Values["cityid"], 0), _common.GetIntegerValue(hcBrowse.Values["stateid"], 0), _common.GetIntegerValue(hcBrowse.Values["countryid"], 0), _common.GetIntegerValue(hcBrowse.Values["titleid"], 0), _common.GetStringValue(hcBrowse.Values["year"], ""), _common.GetStringValue(hcBrowse.Values["month"], ""), _common.GetStringValue(hcBrowse.Values["day"], ""), _common.GetStringValue(hcBrowse.Values["endyear"], ""), _common.GetStringValue(hcBrowse.Values["endmonth"], ""), _common.GetStringValue(hcBrowse.Values["endday"], ""), _common.GetStringValue(hcBrowse.Values["titleinitial"], ""), startIndex, _recordsPerPage);
            //*********************  start of caching code by Rakesh on 01 Nov 2013 *****************************
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            string BrowseCachekey = "BrowseData" + hcBrowse.Values["cityid"] + "_" + hcBrowse.Values["stateid"] + "_" + hcBrowse.Values["countryid"] + "_" + hcBrowse.Values["titleid"] + "_" + hcBrowse.Values["year"] + "_" + hcBrowse.Values["month"] + "_" + hcBrowse.Values["day"] + "_" + hcBrowse.Values["endyear"] + "_" + hcBrowse.Values["endmonth"] + "_" + hcBrowse.Values["endday"] + "_" + hcBrowse.Values["titleinitial"] + "_" + page + "_" + _recordsPerPage;
            BrowseDataWithPaging objBrowseData = new BrowseDataWithPaging();
            var resultdetailsWithPagingData = objBrowseData;
            if (this._cacheManager.IsSet(BrowseCachekey) && _cacheManager.Get<string>(BrowseCachekey).Length > 0)
            {
                var resultdetailsWithPagingData1 = _cacheManager.Get<string>(BrowseCachekey);
                object objBrowse = serializer.Deserialize(resultdetailsWithPagingData1.ToString(), typeof(BrowseDataWithPaging));
                resultdetailsWithPagingData = (BrowseDataWithPaging)objBrowse;
            }
            else
            {
                resultdetailsWithPagingData = _BrowseDataService.GetBrowseYearRangeResultsV1(_common.GetIntegerValue(hcBrowse.Values["cityid"], 0), _common.GetIntegerValue(hcBrowse.Values["stateid"], 0), _common.GetIntegerValue(hcBrowse.Values["countryid"], 0), _common.GetIntegerValue(hcBrowse.Values["titleid"], 0), _common.GetStringValue(hcBrowse.Values["year"], ""), _common.GetStringValue(hcBrowse.Values["month"], ""), _common.GetStringValue(hcBrowse.Values["day"], ""), _common.GetStringValue(hcBrowse.Values["endyear"], ""), _common.GetStringValue(hcBrowse.Values["endmonth"], ""), _common.GetStringValue(hcBrowse.Values["endday"], ""), _common.GetStringValue(hcBrowse.Values["titleinitial"], ""), startIndex, _recordsPerPage);
                string BrowseData = serializer.Serialize(resultdetailsWithPagingData);
                _cacheManager.Set(BrowseCachekey, BrowseData, 7200); // added for caching
            }
            //************************   end  *************************************

            model.TotalBrowseresultCount = 0;
            if (resultdetailsWithPagingData != null)
            {
                var resultdetails = resultdetailsWithPagingData.BrowseData;
                //added by Rakesh on 07 NOv 2013
                Na.Core.Domain.Browse.BrowseDataPubYears objBrowseDataPubYears = new Na.Core.Domain.Browse.BrowseDataPubYears();
                objBrowseDataPubYears = resultdetailsWithPagingData.BrowseDataPubYearsDetail;

                if (resultdetails != null && resultdetails.Count > 0)
                {

                    //if (_recordsPerPage > 0) { model.ResultsPageCount = _recordsPerPage; } else { model.ResultsPageCount = 15; }
                    var _resultPerpage = new List<SelectListItem>();
                    _resultPerpage.Add(new SelectListItem { Value = "15", Text = "15", Selected = 15 == _recordsPerPage ? true : false });
                    _resultPerpage.Add(new SelectListItem { Value = "30", Text = "30", Selected = 30 == _recordsPerPage ? true : false });
                    model.ResulsPerPage = _resultPerpage;

                    var result = resultdetails.AsEnumerable();
                    //result = model.results = resultdetails.ToPagedList(startIndex, _common.GetIntegerValue(model.ResultsPageCount, 15)); //resultdetails.Skip(startIndex).Take(RecordsPerPage);
                    result = model.results = resultdetails.ToList();
                    if (resultdetailsWithPagingData.PagingInformation != null)
                    {
                        model.TotalBrowseresultCount = resultdetailsWithPagingData.PagingInformation.PageCount;
                        model.pagingresults = new CustomPagingInformation()
                        {
                            FirstItemOnPage = resultdetailsWithPagingData.PagingInformation.FirstItemOnPage,
                            HasNextPage = resultdetailsWithPagingData.PagingInformation.HasNextPage,
                            HasPreviousPage = resultdetailsWithPagingData.PagingInformation.HasPreviousPage,
                            IsFirstPage = resultdetailsWithPagingData.PagingInformation.IsFirstPage,
                            IsLastPage = resultdetailsWithPagingData.PagingInformation.IsLastPage,
                            LastItemOnPage = resultdetailsWithPagingData.PagingInformation.LastItemOnPage,
                            PageCount = resultdetailsWithPagingData.PagingInformation.PageCount,
                            PageNumber = resultdetailsWithPagingData.PagingInformation.PageNumber,
                            PageSize = resultdetailsWithPagingData.PagingInformation.PageSize,
                            TotalItemCount = resultdetailsWithPagingData.PagingInformation.TotalItemCount
                        };
                    }
                    // _MaxPubYearForHeader = resultdetails.Select(x => x.MaxPubdateYear).Max();
                    //_MinPubYearForHeader = resultdetails.Select(x => x.MinPubdateYear).Min();
                    _MinPubYearForHeader = objBrowseDataPubYears.MinPubdateYearForHeader;
                    _MaxPubYearForHeader = objBrowseDataPubYears.MaxPubdateYearForHeader;

                    foreach (var item in result)
                    {
                        var results = new Na.Website.Models.Browse.BrowseResultsDetailsModel();
                        results.cityid = _common.GetIntegerValue(item.cityid, 0);
                        results.stateid = _common.GetIntegerValue(item.stateid, 0);
                        results.countryid = _common.GetIntegerValue(item.countryid, 0);
                        results.cityName = _common.GetStringValue(item.cityName, "");
                        results.statename = _common.GetStringValue(item.statename, "");
                        results.countryname = _common.GetStringValue(item.countryname, "");
                        results.pubTitle = _common.GetStringValue(item.pubTitle, "");
                        results.formatedPubTitle = _common.GetStringValue(item.pubTitleURL, "");  //ReplaceTHE_RemoveSpecialChar(_common.GetStringValue(item.pubTitle, "").ToLower());
                        results.pubid = _common.GetIntegerValue(item.pubid, 0);
                        results.MaxPubdateYear = _common.GetStringValue(item.MaxPubdateYear, "");
                        results.MinPubdateYear = _common.GetStringValue(item.MinPubdateYear, "");
                        if (results.MaxPubdateYear != "" && (results.MaxPubdateYear == results.MinPubdateYear))
                        {
                            results.PubdateYearRange = results.MaxPubdateYear;
                        }
                        else
                        {
                            results.PubdateYearRange = results.MinPubdateYear + " - " + results.MaxPubdateYear;
                        }
                        results.countryAbbr = _common.GetStringValue(item.CountryUrlText, "").Replace(" ", "");
                        results.formatedStateName = FormatedLocationNames(_common.GetStringValue(item.statename, ""));
                        results.formatedCityName = FormatedLocationNames(_common.GetStringValue(item.cityName, ""));
                        model.resultDetails.Add(results);
                    }
                }
            }
        }