private void SetViewBags()
        {
            ViewBag.NCSInfo       = Logs.GetNCSInfo(InstitutionID);
            ViewBag.FileName      = Path.GetFileName(Uri);
            ViewBag.DirectoryName = Path.GetDirectoryName(Uri);
            ViewBag.DateStart     = DateStart;


            RetrievedResultPageNo = Page;
            SearchResultPageNo    = Page;
            if (SearchResult != null)
            {
                ViewBag.TotalErrors        = SearchResult.Sum(e => e.Errors);
                ViewBag.TotalClearedErrors = SearchResult.Sum(e => e.ClearedErrors);
                ViewBag.TotalAcknowledged  = SearchResult.Sum(e => e.Acknowledged);
                ViewBag.SearchResult       = SearchResult.ToPagedList(SearchResultPageNo, pageSize);
            }
            else if (RetrievedResult != null)
            {
                ViewBag.TotalErrors        = RetrievedResult.Sum(e => e.Errors);
                ViewBag.TotalClearedErrors = RetrievedResult.Sum(e => e.ClearedErrors);
                ViewBag.TotalAcknowledged  = RetrievedResult.Sum(e => e.Acknowledged);
                ViewBag.RetrievedResult    = RetrievedResult.ToPagedList(RetrievedResultPageNo, pageSize);
            }
        }
        public PartialViewResult UpdateSearchResult(int?page, string sortOrder)
        {
            if (!String.IsNullOrEmpty(sortOrder))
            {
                _sortOrder = sortOrder;
            }

            ViewBag.CurrentSortOrder = _sortOrder;

            ViewBag.NCSInfo            = Logs.GetNCSInfo(InstitutionID);
            ViewBag.FileName           = Path.GetFileName(Uri);
            ViewBag.DirectoryName      = Path.GetDirectoryName(Uri);
            ViewBag.DateStart          = DateStart;
            ViewBag.TotalErrors        = RetrievedResult.Sum(e => e.Errors);
            ViewBag.TotalClearedErrors = RetrievedResult.Sum(e => e.ClearedErrors);
            ViewBag.TotalAcknowledged  = RetrievedResult.Sum(e => e.Acknowledged);


            var ents = from entry in SearchResult
                       select entry;

            if (page == null)
            {
                ViewBag.RequestTxIDSortParm         = _sortOrder == "RequestTxID" ? "RequestTxID_desc" : "RequestTxID";
                ViewBag.UniqueParticipantIDSortParm = _sortOrder == "UniqueParticipantID" ? "UniqueParticipantID_desc" : "UniqueParticipantID";
                ViewBag.ActionSortParm           = _sortOrder == "Action" ? "Action_desc" : "Action";
                ViewBag.ReasonSortParm           = _sortOrder == "Reason" ? "Reason_desc" : "Reason";
                ViewBag.CardSerialNumberSortParm = _sortOrder == "CardSerialNumber" ? "CardSerialNumber_desc" : "CardSerialNumber";
                ViewBag.RequestStatusSortParm    = _sortOrder == "RequestStatus" ? "RequestStatus_desc" : "RequestStatus";

                switch (_sortOrder)
                {
                case "RequestTxID_desc":
                    ents = ents.OrderByDescending(s => s.RequestTxID);
                    break;

                case "UniqueParticipantID_desc":
                    ents = ents.OrderByDescending(s => s.UniqueParticipantId);
                    break;

                case "UniqueParticipantID":
                    ents = ents.OrderBy(s => s.UniqueParticipantId);
                    break;

                case "Action_desc":
                    ents = ents.OrderByDescending(s => s.CardTypeCode);
                    break;

                case "Action":
                    ents = ents.OrderBy(s => s.URIType);
                    break;

                case "Reason_desc":
                    ents = ents.OrderByDescending(s => s.URIType);
                    break;

                case "Reason":
                    ents = ents.OrderBy(s => s.ReasonCode);
                    break;

                case "CardSerialNumber_desc":
                    ents = ents.OrderByDescending(s => s.CardSerialNumber);
                    break;

                case "CardSerialNumber":
                    ents = ents.OrderBy(s => s.CardSerialNumber);
                    break;

                case "RequestStatus_desc":
                    ents = ents.OrderByDescending(s => s.Errors > 0 ? s.Errors : (s.ClearedErrors > 0 ? s.ClearedErrors : s.Acknowledged));
                    break;

                case "RequestStatus":
                    ents = ents.OrderBy(s => s.Errors > 0 ? s.Errors : (s.ClearedErrors > 0 ? s.ClearedErrors : s.Acknowledged));
                    break;

                default:
                    ents = ents.OrderBy(s => s.RequestTxID);
                    break;
                }
            }

            SearchResultPageNo = (page ?? 1);

            SearchResult            = ents.ToList();
            ViewBag.SearchResult    = ents.ToPagedList(SearchResultPageNo, pageSize);
            ViewBag.RetrievedResult = RetrievedResult.ToPagedList(RetrievedResultPageNo, pageSize);
            ViewBag.keyword         = CurrentSearchKeyword;
            return(PartialView("_FileDetails", null));
        }