public ActionResult SetPagingPreferenceAdvSearch(string pagingEnabled, string searchKey, string projStage, string benefittingCountry, string budgetCentreId, string sro)
        {
            if (pagingEnabled == "F")
            {
                Session["isPagingEnabledAS"] = "F";
            }
            else
            {
                Session["isPagingEnabledAS"] = "T";
            }
            AdvanceSearchVM avm = new AdvanceSearchVM();

            avm.SearchKeyWord        = searchKey;
            avm.stage                = projStage;
            avm.BenefittingCountryID = benefittingCountry;
            avm.BudgetCentreID       = budgetCentreId;
            avm.SRO = sro;

            TempData["Adv"] = avm;
            //return RedirectToAction("AdvancedSearch", "Project", new { page = 1, IsPagingEnabled = Session["isPagingEnabledAS"].ToString() });
            //return View("AdvancedSearch");

            TempData.Keep("Adv");
            return(Json(Session["isPagingEnabledAS"].ToString()));
        }
        // Project/AdvanceSeach
        #region Advance_Search

        public async Task <ActionResult> AdvancedSearch(int?page, AdvanceSearchVM advanceSearchVM, string IsPagingEnabled)
        {
            //Get logon
            String user = GetEmpNo();

            //Test People service
            //IEnumerable<PersonDetails> SROs = await _ampServiceLayer.LookUpSroUser() as IEnumerable<PersonDetails>;
            //Log user on page
            LogCall(user, "Project/AdvancedSearch");

            try
            {
                int pageNumber = (page ?? 1);
                if (IsPagingEnabled == null)
                {
                    IsPagingEnabled = "T";
                }
                if (Session["isPagingEnabledAS"] == null)
                {
                    Session["isPagingEnabledAS"] = "T";
                }
                if (Session["isPagingEnabled"] == "F")
                {
                    ViewBag.PagingOn = "F";
                }

                string searchKeyword = string.Empty;
                if (!string.IsNullOrEmpty(advanceSearchVM.SearchKeyWord) || !string.IsNullOrWhiteSpace(advanceSearchVM.SearchKeyWord))
                {
                    searchKeyword = advanceSearchVM.SearchKeyWord.ToString().Trim();
                }
                else
                {
                    searchKeyword = null;
                }

                string stage = advanceSearchVM.stage;
                string BenefittingCountry = advanceSearchVM.BenefittingCountryID;
                string BudgetCentre       = advanceSearchVM.BudgetCentreID;
                string SRO = advanceSearchVM.SRO;

                string stageChoice = "All";   //advanceSearchVM.StatusChoice; //Status filter removed
                if (stageChoice == null)
                {
                    advanceSearchVM.StatusChoice = "All";
                }

                advanceSearchVM.ProjectStages     = _ampServiceLayer.GetProjectStages();
                advanceSearchVM.BenefitingCountry = _ampServiceLayer.GetBenefitingCountry();
                //advanceSearchVM.BudgetCentre = _ampServiceLayer.LookupBudgetCentreKV();

                if (advanceSearchVM == null)
                {
                    return(HttpNotFound());
                }


                AdvanceSearchVM advanceSearch;

                if (page == null && TempData["Adv"] == null) //Loading first page and Paging enabled
                {
                    advanceSearch = await _ampServiceLayer.GetProjectsAdvanceSearch(searchKeyword, stage, 1, 10, stageChoice, BenefittingCountry, user, BudgetCentre, SRO, Session["isPagingEnabledAS"].ToString());

                    advanceSearch.ProjectStages     = advanceSearchVM.ProjectStages;
                    advanceSearch.BenefitingCountry = advanceSearchVM.BenefitingCountry;
                    //advanceSearch.BudgetCentre = advanceSearchVM.BudgetCentre;

                    advanceSearch.SearchKeyWord        = searchKeyword;
                    advanceSearch.stage                = stage;
                    advanceSearch.BenefittingCountryID = BenefittingCountry;
                    advanceSearch.BudgetCentreID       = BudgetCentre;
                    advanceSearch.SRO = SRO;

                    advanceSearch.StatusChoice = stageChoice;

                    Session["searchKeyword"]      = searchKeyword;
                    Session["stage"]              = stage;
                    Session["stageChoice"]        = stageChoice; //at all stage A or C
                    Session["BenefittingCountry"] = BenefittingCountry;
                    Session["BudgetCentre"]       = BudgetCentre;
                    Session["SRO"] = SRO;
                }
                else if (page != null && TempData["Adv"] == null)
                {
                    if (Session["searchKeyword"] != null)
                    {
                        searchKeyword = Session["searchKeyword"].ToString().Trim();
                    }
                    else
                    {
                        searchKeyword = null;
                    }
                    if (Session["stage"] != null)
                    {
                        stage = Session["stage"].ToString();
                    }
                    else
                    {
                        stage = null;
                    }
                    if (Session["stageChoice"] != null)
                    {
                        stageChoice = Session["stageChoice"].ToString();
                    }
                    else
                    {
                        stageChoice = "All";
                    }
                    if (Session["BenefittingCountry"] != null)
                    {
                        BenefittingCountry = Session["BenefittingCountry"].ToString();
                    }
                    else
                    {
                        BenefittingCountry = null;
                    }

                    if (Session["BudgetCentre"] != null)
                    {
                        BudgetCentre = Session["BudgetCentre"].ToString();
                    }
                    else
                    {
                        BudgetCentre = null;
                    }

                    if (Session["SRO"] != null)
                    {
                        SRO = Session["SRO"].ToString();
                    }
                    else
                    {
                        SRO = null;
                    }


                    advanceSearch = await _ampServiceLayer.GetProjectsAdvanceSearch(searchKeyword, stage, pageNumber, 10, stageChoice, BenefittingCountry, user, BudgetCentre, SRO, Session["isPagingEnabledAS"].ToString());

                    advanceSearch.ProjectStages     = advanceSearchVM.ProjectStages;
                    advanceSearch.BenefitingCountry = advanceSearchVM.BenefitingCountry;
                    //advanceSearch.BudgetCentre = advanceSearchVM.BudgetCentre;

                    advanceSearch.SearchKeyWord        = searchKeyword;
                    advanceSearch.stage                = stage;
                    advanceSearch.BenefittingCountryID = BenefittingCountry;
                    advanceSearch.BudgetCentreID       = BudgetCentre;
                    advanceSearch.SRO = SRO;

                    advanceSearch.StatusChoice = stageChoice;
                }

                else if (TempData["Adv"] != null)
                {
                    advanceSearch = TempData["Adv"] as AdvanceSearchVM;
                    string SK   = string.Empty;
                    string PS   = string.Empty;
                    string BC   = string.Empty;
                    string BdId = string.Empty;

                    if (!string.IsNullOrEmpty(advanceSearch.SearchKeyWord))
                    {
                        Session["SK"] = advanceSearch.SearchKeyWord.ToString().Trim();
                    }
                    else
                    {
                        Session["SK"] = string.Empty;
                    }
                    if (!string.IsNullOrEmpty(advanceSearch.stage))
                    {
                        Session["PS"] = advanceSearch.stage.ToString().Trim();
                    }
                    else
                    {
                        Session["PS"] = string.Empty;
                    }
                    if (!string.IsNullOrEmpty(advanceSearch.BenefittingCountryID))
                    {
                        Session["BC"] = advanceSearch.BenefittingCountryID.ToString().Trim();
                    }
                    else
                    {
                        Session["BC"] = string.Empty;
                    }
                    if (!string.IsNullOrEmpty(advanceSearch.BudgetCentreID))
                    {
                        Session["BdId"] = advanceSearch.BudgetCentreID.ToString().Trim();
                    }
                    else
                    {
                        Session["BdId"] = string.Empty;
                    }
                    if (!string.IsNullOrEmpty(advanceSearch.SRO))
                    {
                        Session["Sro"] = advanceSearch.SRO.ToString().Trim();
                    }
                    else
                    {
                        Session["Sro"] = string.Empty;
                    }

                    advanceSearch = await _ampServiceLayer.GetProjectsAdvanceSearch(Session["SK"].ToString(), Session["PS"].ToString(), pageNumber, 10, stageChoice, Session["BC"].ToString(), user, Session["BdId"].ToString(), Session["Sro"].ToString(), Session["isPagingEnabledAS"].ToString());

                    advanceSearchVM.ProjectStages     = _ampServiceLayer.GetProjectStages();
                    advanceSearchVM.BenefitingCountry = _ampServiceLayer.GetBenefitingCountry();


                    advanceSearch.ProjectStages     = advanceSearchVM.ProjectStages;
                    advanceSearch.BenefitingCountry = advanceSearchVM.BenefitingCountry;
                    //advanceSearch.BudgetCentre = advanceSearchVM.BudgetCentre;

                    advanceSearch.SearchKeyWord        = Session["SK"].ToString() ?? null;
                    advanceSearch.stage                = Session["PS"].ToString() ?? null;
                    advanceSearch.BenefittingCountryID = Session["BC"].ToString() ?? null;
                    advanceSearch.BudgetCentreID       = Session["BdId"].ToString() ?? null;
                    advanceSearch.SRO = Session["Sro"].ToString() ?? null;

                    advanceSearch.StatusChoice = stageChoice;
                }

                //else if (IsPagingEnabled == "F")
                //{
                //    //if (Session["searchKeyword"] != null) { searchKeyword = Session["searchKeyword"].ToString().Trim(); }
                //    //else { searchKeyword = null; }
                //    //if (Session["stage"] != null) { stage = Session["stage"].ToString(); }
                //    //else { stage = null; }
                //    //if (Session["stageChoice"] != null) { stageChoice = Session["stageChoice"].ToString(); }
                //    //else { stageChoice = "Active"; }
                //    //if (Session["BenefittingCountry"] != null) { BenefittingCountry = Session["BenefittingCountry"].ToString(); }
                //    //else { BenefittingCountry = null; }

                //    if (searchKeyword == null)
                //    {
                //        if (Session["searchKeyword"] != null)
                //        {
                //            searchKeyword = Session["searchKeyword"].ToString();
                //        }
                //    }
                //    if (stage == null)
                //    {
                //        if (Session["stage"] != null)
                //        {
                //            stage = Session["stage"].ToString();
                //        }
                //    }
                //    if (BenefittingCountry == null)
                //    {
                //        if (Session["BenefittingCountry"] != null)
                //        {
                //            BenefittingCountry = Session["BenefittingCountry"].ToString();
                //        }
                //    }

                //    advanceSearch = await _ampServiceLayer.GetProjectsAdvanceSearch(searchKeyword, stage, pageNumber, 10, stageChoice, BenefittingCountry, user);

                //    advanceSearch.ProjectStages = advanceSearchVM.ProjectStages;
                //    advanceSearch.BenefitingCountry = advanceSearchVM.BenefitingCountry;
                //    advanceSearch.SearchKeyWord = searchKeyword;
                //    advanceSearch.stage = stage;
                //    advanceSearch.BenefittingCountryID = BenefittingCountry;
                //    advanceSearch.StatusChoice = stageChoice;
                //}

                else
                {
                    Session.Remove("searchKeyword");
                    Session.Remove("stage");
                    Session.Remove("BenefittingCountry");
                    Session.Remove("BudgetCentre");
                    Session.Remove("SRO");
                    Session.Remove("isPagingEnabled");
                    advanceSearch = advanceSearchVM;
                }

                return(View(advanceSearch));
            }
            catch (Exception ex)
            {
                errorengine.LogError(ex, "Project/AdvancedSearch", user);
                throw;
            }
        }